From ddaf37ffa98683be925ae7c396c55f336dce4ad2 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sun, 18 Aug 2019 04:41:55 +1000 Subject: [PATCH 001/416] Reword a note about the MANUFACTURER and PRODUCT defines in hardware_avr.md (#6558) --- docs/hardware_avr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hardware_avr.md b/docs/hardware_avr.md index c6987d1bdf91..0c1b31bb26a1 100644 --- a/docs/hardware_avr.md +++ b/docs/hardware_avr.md @@ -78,7 +78,7 @@ Do change the `MANUFACTURER`, `PRODUCT`, and `DESCRIPTION` lines to accurately r #define DESCRIPTION A custom keyboard ``` -?> Note: On Windows and macOS the `MANUFACTURER`, `PRODUCT`, and `DESCRIPTION` fields will be displayed in the list of USB devices. ?> On Linux these values will not be visible in lsusb by default, since Linux takes the information from the list maintained by [USB ID Repository](http://www.linux-usb.org/usb-ids.html) by default. lsusb will show the information reported by the device when executed with -v option. It is also present in kernel logs after plugging in the device. +?> Windows and macOS will display the `MANUFACTURER` and `PRODUCT` in the list of USB devices. `lsusb` on Linux instead takes these from the list maintained by the [USB ID Repository](http://www.linux-usb.org/usb-ids.html) by default. `lsusb -v` will show the values reported by the device, and they are also present in kernel logs after plugging it in. ### Keyboard Matrix Configuration From 92f9b6c3bdff939bc562d640e02c3aebaa204e17 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sun, 18 Aug 2019 07:29:41 +1000 Subject: [PATCH 002/416] Add ATmega32U2 to mcu_selection.mk (#6561) --- quantum/mcu_selection.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk index cca7720e9c7f..2d62dcbf1e31 100644 --- a/quantum/mcu_selection.mk +++ b/quantum/mcu_selection.mk @@ -36,7 +36,7 @@ ifneq ($(findstring STM32F303, $(MCU)),) DFU_SUFFIX_ARGS = -p DF11 -v 0483 endif -ifneq (,$(filter $(MCU),atmega32u4 at90usb1286)) +ifneq (,$(filter $(MCU),atmega32u2 atmega32u4 at90usb1286)) # 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 From 91ee6a1dbb6f43ac708b0dc301f5cbcef6dcfdf5 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 19 Aug 2019 15:03:05 -0700 Subject: [PATCH 003/416] [Docs] Add RGB Matrix default mode define info (#6564) --- docs/feature_rgb_matrix.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 916fcdce0314..b2850c3cff22 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -374,6 +374,7 @@ These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blo #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set ``` ## EEPROM storage From 4003d077cef42d7a3405250ea6417db3a3549e9e Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 20 Aug 2019 15:39:24 -0700 Subject: [PATCH 004/416] Add a universal flash command for cli (#6224) * Add universal flash command * Add bootloader info to I:C boards * Add support for ATSAM * Add messages for flash target * Message cleanup * Add USB ASP Flashing target * Make usbasp target more universal * Add phoney target for usbasp * Clarify error message when bootloader isn't matched --- .../keymaps/halfkeyboard/rules.mk | 2 + keyboards/ergodox_infinity/rules.mk | 2 + keyboards/infinity60/rules.mk | 2 + keyboards/k_type/rules.mk | 2 + keyboards/whitefox/rules.mk | 2 + message.mk | 2 + tmk_core/arm_atsam.mk | 3 + tmk_core/avr.mk | 91 +++++++++++-------- tmk_core/chibios.mk | 26 +++++- tmk_core/rules.mk | 5 +- 10 files changed, 93 insertions(+), 44 deletions(-) diff --git a/keyboards/ergodox_infinity/keymaps/halfkeyboard/rules.mk b/keyboards/ergodox_infinity/keymaps/halfkeyboard/rules.mk index 2d3597ceb99a..43a31852956d 100644 --- a/keyboards/ergodox_infinity/keymaps/halfkeyboard/rules.mk +++ b/keyboards/ergodox_infinity/keymaps/halfkeyboard/rules.mk @@ -54,6 +54,8 @@ ARMV = 7 # The CORTEX_VTOR... is needed only for MCHCK/Infinity KB OPT_DEFS += -DCORTEX_VTOR_INIT=0x00002000 +BOOTLOADER = dfu + # Build Options # comment out to disable the options. # diff --git a/keyboards/ergodox_infinity/rules.mk b/keyboards/ergodox_infinity/rules.mk index af8e9ef200c5..b55c9bc8c0ce 100644 --- a/keyboards/ergodox_infinity/rules.mk +++ b/keyboards/ergodox_infinity/rules.mk @@ -54,6 +54,8 @@ ARMV = 7 # The CORTEX_VTOR... is needed only for MCHCK/Infinity KB OPT_DEFS += -DCORTEX_VTOR_INIT=0x00002000 +BOOTLOADER = dfu + # Build Options # comment out to disable the options. # diff --git a/keyboards/infinity60/rules.mk b/keyboards/infinity60/rules.mk index 1f02e05c84cd..6fb43dc7526b 100644 --- a/keyboards/infinity60/rules.mk +++ b/keyboards/infinity60/rules.mk @@ -53,6 +53,8 @@ ARMV = 7 # The CORTEX_VTOR... is needed only for MCHCK/Infinity KB OPT_DEFS = -DCORTEX_VTOR_INIT=0x00001000 +BOOTLOADER = dfu + # Build Options # comment out to disable the options. # diff --git a/keyboards/k_type/rules.mk b/keyboards/k_type/rules.mk index 7762f1868204..43579fcc71bb 100644 --- a/keyboards/k_type/rules.mk +++ b/keyboards/k_type/rules.mk @@ -59,6 +59,8 @@ OPT_DEFS = DFU_ARGS = -d 1c11:b007 DFU_SUFFIX_ARGS = -p b007 -v 1c11 +BOOTLOADER = dfu + # Build Options # comment out to disable the options. # diff --git a/keyboards/whitefox/rules.mk b/keyboards/whitefox/rules.mk index d9aa911c54e5..59332d1d5ac3 100644 --- a/keyboards/whitefox/rules.mk +++ b/keyboards/whitefox/rules.mk @@ -57,6 +57,8 @@ OPT_DEFS = DFU_ARGS = -d 1c11:b007 DFU_SUFFIX_ARGS = -p b007 -v 1c11 +BOOTLOADER = dfu + # Build Options # comment out to disable the options. # diff --git a/message.mk b/message.mk index ec9bacbf49e3..c8d2135d5c0f 100644 --- a/message.mk +++ b/message.mk @@ -85,3 +85,5 @@ MSG_PYTHON_MISSING = $(WARN_COLOR)WARNING:$(NO_COLOR)\n \ Python 3 is not installed. It will be required by a future version\n\ of qmk_firmware.\n\n\ Please run $(BOLD)util/qmk_install.sh$(NO_COLOR) to install all the dependencies QMK requires.\n\n +MSG_FLASH_BOOTLOADER = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's bootloader is not specified or is not supported by the \":flash\" target at this time.\n\n +MSG_FLASH_ARCH = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's architecture is not supported by the \":flash\" target at this time.\n\n diff --git a/tmk_core/arm_atsam.mk b/tmk_core/arm_atsam.mk index 25a3411f4f9f..c9b14042f8d6 100644 --- a/tmk_core/arm_atsam.mk +++ b/tmk_core/arm_atsam.mk @@ -54,3 +54,6 @@ EXTRALIBDIRS = bin: $(BUILD_DIR)/$(TARGET).hex $(OBJCOPY) -Iihex -Obinary $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin $(COPY) $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin; + +flash: bin + $(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_ARCH)" diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk index 5bfd5a9b0dcc..e5443418b94c 100644 --- a/tmk_core/avr.mk +++ b/tmk_core/avr.mk @@ -89,11 +89,11 @@ DEBUG_HOST = localhost #============================================================================ # Autodetect teensy loader ifndef TEENSY_LOADER_CLI - ifneq (, $(shell which teensy-loader-cli 2>/dev/null)) - TEENSY_LOADER_CLI ?= teensy-loader-cli - else - TEENSY_LOADER_CLI ?= teensy_loader_cli - endif + ifneq (, $(shell which teensy-loader-cli 2>/dev/null)) + TEENSY_LOADER_CLI ?= teensy-loader-cli + else + TEENSY_LOADER_CLI ?= teensy_loader_cli + endif endif # Generate a .qmk for the QMK-FF @@ -124,8 +124,12 @@ qmk: $(BUILD_DIR)/$(TARGET).hex program: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep check-size $(PROGRAM_CMD) -teensy: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware +define EXEC_TEENSY $(TEENSY_LOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex +endef + +teensy: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware + $(call EXEC_TEENSY) BATCHISP ?= batchisp @@ -137,18 +141,32 @@ flip: $(BUILD_DIR)/$(TARGET).hex check-size DFU_PROGRAMMER ?= dfu-programmer GREP ?= grep -dfu: $(BUILD_DIR)/$(TARGET).hex cpfirmware check-size + +define EXEC_DFU + if [ "$(1)" ]; then \ + echo "Flashing '$(1)' for EE_HANDS split keyboard support." ;\ + fi; \ until $(DFU_PROGRAMMER) $(MCU) get bootloader-version; do\ echo "Error: Bootloader not found. Trying again in 5s." ;\ sleep 5 ;\ - done + done; \ if $(DFU_PROGRAMMER) --version 2>&1 | $(GREP) -q 0.7 ; then\ - $(DFU_PROGRAMMER) $(MCU) erase --force;\ - else\ - $(DFU_PROGRAMMER) $(MCU) erase;\ - fi - $(DFU_PROGRAMMER) $(MCU) flash $(BUILD_DIR)/$(TARGET).hex + $(DFU_PROGRAMMER) $(MCU) erase --force; \ + if [ "$(1)" ]; then \ + $(DFU_PROGRAMMER) $(MCU) flash --eeprom $(QUANTUM_PATH)/split_common/$(1);\ + fi; \ + else \ + $(DFU_PROGRAMMER) $(MCU) erase; \ + if [ "$(1)" ]; then \ + $(DFU_PROGRAMMER) $(MCU) flash-eeprom $(QUANTUM_PATH)/split_common/$(1);\ + fi; \ + fi; \ + $(DFU_PROGRAMMER) $(MCU) flash $(BUILD_DIR)/$(TARGET).hex;\ $(DFU_PROGRAMMER) $(MCU) reset +endef + +dfu: $(BUILD_DIR)/$(TARGET).hex cpfirmware check-size + $(call EXEC_DFU) dfu-start: $(DFU_PROGRAMMER) $(MCU) reset @@ -170,34 +188,10 @@ dfu-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep $(DFU_PROGRAMMER) $(MCU) reset dfu-split-left: $(BUILD_DIR)/$(TARGET).hex cpfirmware check-size - until $(DFU_PROGRAMMER) $(MCU) get bootloader-version; do\ - echo "Error: Bootloader not found. Trying again in 5s." ;\ - sleep 5 ;\ - done - if $(DFU_PROGRAMMER) --version 2>&1 | $(GREP) -q 0.7 ; then\ - $(DFU_PROGRAMMER) $(MCU) erase --force;\ - $(DFU_PROGRAMMER) $(MCU) flash --eeprom $(QUANTUM_PATH)/split_common/eeprom-lefthand.eep;\ - else\ - $(DFU_PROGRAMMER) $(MCU) erase;\ - $(DFU_PROGRAMMER) $(MCU) flash-eeprom $(QUANTUM_PATH)/split_common/eeprom-lefthand.eep;\ - fi - $(DFU_PROGRAMMER) $(MCU) flash $(BUILD_DIR)/$(TARGET).hex - $(DFU_PROGRAMMER) $(MCU) reset + $(call EXEC_DFU,eeprom-lefthand.eep) dfu-split-right: $(BUILD_DIR)/$(TARGET).hex cpfirmware check-size - until $(DFU_PROGRAMMER) $(MCU) get bootloader-version; do\ - echo "Error: Bootloader not found. Trying again in 5s." ;\ - sleep 5 ;\ - done - if $(DFU_PROGRAMMER) --version 2>&1 | $(GREP) -q 0.7 ; then\ - $(DFU_PROGRAMMER) $(MCU) erase --force;\ - $(DFU_PROGRAMMER) $(MCU) flash --eeprom $(QUANTUM_PATH)/split_common/eeprom-righthand.eep;\ - else\ - $(DFU_PROGRAMMER) $(MCU) erase;\ - $(DFU_PROGRAMMER) $(MCU) flash-eeprom $(QUANTUM_PATH)/split_common/eeprom-righthand.eep;\ - fi - $(DFU_PROGRAMMER) $(MCU) flash $(BUILD_DIR)/$(TARGET).hex - $(DFU_PROGRAMMER) $(MCU) reset + $(call EXEC_DFU,eeprom-righthand.eep) define EXEC_AVRDUDE USB= ;\ @@ -245,8 +239,12 @@ avrdude-split-left: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware avrdude-split-right: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware $(call EXEC_AVRDUDE,eeprom-righthand.eep) -usbasp: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware +define EXEC_USBASP avrdude -p $(MCU) -c usbasp -U flash:w:$(BUILD_DIR)/$(TARGET).hex +endef + +usbasp: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware + $(call EXEC_USBASP) # Convert hex to bin. @@ -323,3 +321,16 @@ production: $(BUILD_DIR)/$(TARGET).hex bootloader cpfirmware @cat $(TARGET)_bootloader.hex >> $(TARGET)_production.hex echo "File sizes:" $(SIZE) $(TARGET).hex $(TARGET)_bootloader.hex $(TARGET)_production.hex + +flash: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware +ifeq ($(strip $(BOOTLOADER)), caterina) + $(call EXEC_AVRDUDE) +else ifeq ($(strip $(BOOTLOADER)), halfkay) + $(call EXEC_TEENSY) +else ifeq (dfu,$(findstring dfu,$(BOOTLOADER))) + $(call EXEC_DFU) +else ifeq ($(strip $(BOOTLOADER)), USBasp) + $(call EXEC_USBASP) +else + $(PRINT_OK); $(SILENT) || printf "&(MSG_FLASH_BOOTLOADER)" +endif diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index 4aebb477629b..eee520467d78 100644 --- a/tmk_core/chibios.mk +++ b/tmk_core/chibios.mk @@ -234,9 +234,12 @@ qmk: $(BUILD_DIR)/$(TARGET).bin zip $(TARGET).qmk -urj $(BUILD_DIR)/$(TARGET).json printf "@ $(TARGET).json\n@=info.json\n" | zipnote -w $(TARGET).qmk -dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter +define EXEC_DFU_UTIL $(DFU_UTIL) $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin +endef +dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter + $(call EXEC_DFU_UTIL) ifneq ($(strip $(TIME_DELAY)),) TIME_DELAY = $(strip $(TIME_DELAY)) @@ -253,7 +256,7 @@ dfu-util-wait: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter done; \ echo "Flashing $(TARGET).bin" ;\ sleep 1 ;\ - $(DFU_UTIL) $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin + $(call EXEC_DFU_UTIL) st-link-cli: $(BUILD_DIR)/$(TARGET).hex sizeafter $(ST_LINK_CLI) $(ST_LINK_ARGS) -q -c SWD -p $(BUILD_DIR)/$(TARGET).hex -Rst @@ -268,7 +271,24 @@ ifndef TEENSY_LOADER_CLI endif endif -teensy: $(BUILD_DIR)/$(TARGET).hex cpfirmware sizeafter +define EXEC_TEENSY $(TEENSY_LOADER_CLI) -mmcu=$(MCU_LDSCRIPT) -w -v $(BUILD_DIR)/$(TARGET).hex +endef + +teensy: $(BUILD_DIR)/$(TARGET).hex cpfirmware sizeafter + $(call EXEC_TEENSY) bin: $(BUILD_DIR)/$(TARGET).bin sizeafter + $(COPY) $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin; + + +flash: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter +ifeq ($(strip $(BOOTLOADER)),dfu) + $(call EXEC_DFU_UTIL) +else ifeq ($(strip $(MCU_FAMILY)),KINETIS) + $(call EXEC_TEENSY) +else ifeq ($(strip $(MCU_FAMILY)),STM32) + $(call EXEC_DFU_UTIL) +else + $(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_BOOTLOADER)" +endif diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index e51dbfe7c6a1..31bce33c39bd 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -433,4 +433,7 @@ $(eval $(foreach OUTPUT,$(OUTPUTS),$(shell mkdir -p $(OUTPUT) 2>/dev/null))) .PHONY : all finish sizebefore sizeafter qmkversion \ gccversion build elf hex eep lss sym coff extcoff \ clean clean_list debug gdb-config show_path \ -program teensy dfu flip dfu-ee flip-ee dfu-start +program teensy dfu flip dfu-ee flip-ee dfu-start \ +flash dfu-split-left dfu-split-right \ +avrdude-split-left avrdude-split-right \ +avrdude-loop usbasp From 9bb4e63a1123861515c1196a624b4a0f04129601 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 21 Aug 2019 11:05:08 +1000 Subject: [PATCH 005/416] Remove old promicro_bootloader_jmp() declarations (#6444) --- keyboards/adkb96/rev1/rev1.h | 5 ----- keyboards/atreus62/atreus62.h | 2 -- keyboards/claw44/rev1/rev1.h | 2 -- keyboards/crkbd/rev1/rev1.h | 2 -- keyboards/deltasplit75/v2/v2.h | 4 +--- keyboards/divergetm2/divergetm2.h | 4 ---- keyboards/eco/rev1/rev1.h | 3 --- keyboards/eco/rev2/rev2.h | 3 --- keyboards/ergo42/rev1/rev1.h | 4 ---- keyboards/ergodash/mini/mini.h | 4 ---- keyboards/ergodash/rev1/rev1.h | 4 ---- keyboards/ergotravel/rev1/rev1.h | 4 ---- keyboards/fortitude60/rev1/rev1.h | 4 ---- keyboards/handwired/dactyl_manuform/4x5/4x5.h | 4 ---- keyboards/handwired/dactyl_manuform/dactyl_manuform.h | 1 - keyboards/handwired/xealous/rev1/rev1.h | 2 -- keyboards/helix/pico/pico.h | 4 ---- keyboards/helix/rev1/rev1.h | 5 ----- keyboards/helix/rev2/rev2.h | 4 ---- keyboards/keebio/iris/rev1/rev1.h | 4 ---- keyboards/keebio/iris/rev1_led/rev1_led.h | 4 ---- keyboards/keebio/iris/rev2/rev2.h | 4 ---- keyboards/keebio/levinson/rev1/rev1.h | 4 ---- keyboards/keebio/levinson/rev2/rev2.h | 4 ---- keyboards/keebio/levinson/rev3/rev3.h | 2 -- keyboards/keebio/nyquist/rev1/rev1.h | 4 ---- keyboards/keebio/nyquist/rev2/rev2.h | 4 ---- keyboards/keebio/rorschach/rev1/rev1.h | 4 ---- keyboards/keebio/viterbi/rev1/rev1.h | 3 --- keyboards/launchpad/rev1/rev1.h | 5 +---- keyboards/lets_split/rev1/rev1.h | 3 --- keyboards/lets_split/rev2/rev2.h | 4 ---- keyboards/lets_split/sockets/sockets.h | 4 ---- keyboards/lily58/rev1/rev1.h | 5 +---- keyboards/minidox/rev1/rev1.h | 3 --- keyboards/naked48/rev1/rev1.h | 3 --- keyboards/orthodox/rev1/rev1.h | 3 --- keyboards/orthodox/rev3/rev3.h | 3 --- keyboards/orthodox/rev3_teensy/rev3_teensy.h | 3 --- keyboards/pinky/3/3.h | 3 --- keyboards/pinky/4/4.h | 3 --- keyboards/rgbkb/zen/rev1/rev1.h | 4 ---- keyboards/rgbkb/zen/rev2/rev2.h | 4 ---- keyboards/treadstone48/rev1/rev1.h | 1 - keyboards/vitamins_included/rev1/rev1.h | 3 --- keyboards/yosino58/rev1/rev1.h | 2 -- keyboards/zinc/rev1/rev1.h | 5 ----- keyboards/zinc/reva/reva.h | 5 ----- 48 files changed, 3 insertions(+), 165 deletions(-) diff --git a/keyboards/adkb96/rev1/rev1.h b/keyboards/adkb96/rev1/rev1.h index 0ec70c5d5c9f..4c4c7bae3c51 100644 --- a/keyboards/adkb96/rev1/rev1.h +++ b/keyboards/adkb96/rev1/rev1.h @@ -2,8 +2,6 @@ #include "adkb96.h" -//void promicro_bootloader_jmp(bool program); - #ifdef USE_I2C #include #ifdef __AVR__ @@ -12,9 +10,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - - // Keymap with right side flipped // (TRRS jack on both halves are to the right) #define LAYOUT_ortho_6x16( \ diff --git a/keyboards/atreus62/atreus62.h b/keyboards/atreus62/atreus62.h index 4bf7dabc7dcb..de6f64063bd5 100644 --- a/keyboards/atreus62/atreus62.h +++ b/keyboards/atreus62/atreus62.h @@ -3,8 +3,6 @@ #include "quantum.h" -void promicro_bootloader_jmp(bool program); - // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array diff --git a/keyboards/claw44/rev1/rev1.h b/keyboards/claw44/rev1/rev1.h index f7ec2cbfe657..c6c9057fdc4b 100644 --- a/keyboards/claw44/rev1/rev1.h +++ b/keyboards/claw44/rev1/rev1.h @@ -2,7 +2,6 @@ #include "../claw44.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE @@ -18,7 +17,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/crkbd/rev1/rev1.h b/keyboards/crkbd/rev1/rev1.h index 9023248e28f5..5e90de72a3a1 100644 --- a/keyboards/crkbd/rev1/rev1.h +++ b/keyboards/crkbd/rev1/rev1.h @@ -2,7 +2,6 @@ #include "crkbd.h" -// void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef PROTOCOL_LUFA @@ -23,7 +22,6 @@ #endif // clang-format off -//void promicro_bootloader_jmp(bool program); #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/deltasplit75/v2/v2.h b/keyboards/deltasplit75/v2/v2.h index 9e364f38abf2..82f54c2b0d0e 100644 --- a/keyboards/deltasplit75/v2/v2.h +++ b/keyboards/deltasplit75/v2/v2.h @@ -3,10 +3,8 @@ #include "deltasplit75.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); //matrix is defined in a weird way here; the layout on both sides are asymmetrical, but the "matrix" is symmetrical but with empty gaps //the last column is defined as a separate row because the firmware currently doesnt support more than 8 columns (this layout has 9 columns per side) K45 and K110 are the Bs on both sides; K53 and K106 are extra keys for ISO #define LAYOUT_v2( \ @@ -59,4 +57,4 @@ { KC_NO, KC_NO, K132, K133, K134, K135, K136, K137} \ } -#endif \ No newline at end of file +#endif diff --git a/keyboards/divergetm2/divergetm2.h b/keyboards/divergetm2/divergetm2.h index 50144b1d2bbc..6de48e41c7ab 100644 --- a/keyboards/divergetm2/divergetm2.h +++ b/keyboards/divergetm2/divergetm2.h @@ -17,10 +17,8 @@ #pragma once -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -29,8 +27,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/eco/rev1/rev1.h b/keyboards/eco/rev1/rev1.h index ba00615d34fb..132760fbe859 100644 --- a/keyboards/eco/rev1/rev1.h +++ b/keyboards/eco/rev1/rev1.h @@ -3,11 +3,8 @@ #include "../eco.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012, k013, k014, \ k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, k113, k114, \ diff --git a/keyboards/eco/rev2/rev2.h b/keyboards/eco/rev2/rev2.h index adc2c6d40221..881bcc77b904 100644 --- a/keyboards/eco/rev2/rev2.h +++ b/keyboards/eco/rev2/rev2.h @@ -3,11 +3,8 @@ #include "../eco.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012, k013, k014, \ k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, k113, k114, \ diff --git a/keyboards/ergo42/rev1/rev1.h b/keyboards/ergo42/rev1/rev1.h index 64773c911b84..724ec3897079 100644 --- a/keyboards/ergo42/rev1/rev1.h +++ b/keyboards/ergo42/rev1/rev1.h @@ -3,10 +3,8 @@ #include "ergo42.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -15,8 +13,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/ergodash/mini/mini.h b/keyboards/ergodash/mini/mini.h index 74e574170603..d565c6168ff5 100644 --- a/keyboards/ergodash/mini/mini.h +++ b/keyboards/ergodash/mini/mini.h @@ -3,10 +3,8 @@ #include "ergodash.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -15,8 +13,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/ergodash/rev1/rev1.h b/keyboards/ergodash/rev1/rev1.h index f494a3558a71..eaabf7cc5f82 100644 --- a/keyboards/ergodash/rev1/rev1.h +++ b/keyboards/ergodash/rev1/rev1.h @@ -3,10 +3,8 @@ #include "ergodash.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -15,8 +13,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/ergotravel/rev1/rev1.h b/keyboards/ergotravel/rev1/rev1.h index c4599fc0165e..5907617ef321 100644 --- a/keyboards/ergotravel/rev1/rev1.h +++ b/keyboards/ergotravel/rev1/rev1.h @@ -3,10 +3,8 @@ #include "ergotravel.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -15,8 +13,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ diff --git a/keyboards/fortitude60/rev1/rev1.h b/keyboards/fortitude60/rev1/rev1.h index 5b35720bc3df..bb133b3d893e 100644 --- a/keyboards/fortitude60/rev1/rev1.h +++ b/keyboards/fortitude60/rev1/rev1.h @@ -3,10 +3,8 @@ #include "fortitude60.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -15,8 +13,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) #define LAYOUT( \ diff --git a/keyboards/handwired/dactyl_manuform/4x5/4x5.h b/keyboards/handwired/dactyl_manuform/4x5/4x5.h index b34d97adbffa..a70f52f3e14b 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/4x5.h +++ b/keyboards/handwired/dactyl_manuform/4x5/4x5.h @@ -2,10 +2,8 @@ #include "dactyl_manuform.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF #define LAYOUT( \ L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h index 72f2acaab43e..d8f27f729cf9 100644 --- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h +++ b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h @@ -14,7 +14,6 @@ #include "62key.h" #endif -//void promicro_bootloader_jmp(bool program); #include "quantum.h" diff --git a/keyboards/handwired/xealous/rev1/rev1.h b/keyboards/handwired/xealous/rev1/rev1.h index d195af49deb5..0d8913b2ead8 100644 --- a/keyboards/handwired/xealous/rev1/rev1.h +++ b/keyboards/handwired/xealous/rev1/rev1.h @@ -1,10 +1,8 @@ #ifndef REV1_H #define REV1_H -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); #define XXX KC_NO #define LAYOUT( \ diff --git a/keyboards/helix/pico/pico.h b/keyboards/helix/pico/pico.h index 153132775ba4..d9c57206c619 100644 --- a/keyboards/helix/pico/pico.h +++ b/keyboards/helix/pico/pico.h @@ -3,7 +3,6 @@ #include "../helix.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE @@ -19,9 +18,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/helix/rev1/rev1.h b/keyboards/helix/rev1/rev1.h index d7cd749e4d81..a8d6ff050748 100644 --- a/keyboards/helix/rev1/rev1.h +++ b/keyboards/helix/rev1/rev1.h @@ -3,10 +3,8 @@ #include "../helix.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -15,9 +13,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - - #if HELIX_ROWS == 3 #ifndef FLIP_HALF // Standard Keymap diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h index a2a1fb746ab7..f4929998381c 100644 --- a/keyboards/helix/rev2/rev2.h +++ b/keyboards/helix/rev2/rev2.h @@ -3,7 +3,6 @@ #include "../helix.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE @@ -19,9 +18,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - - #if HELIX_ROWS == 4 #ifndef FLIP_HALF // Standard Keymap diff --git a/keyboards/keebio/iris/rev1/rev1.h b/keyboards/keebio/iris/rev1/rev1.h index da5c9cdc0362..19df105c2e02 100644 --- a/keyboards/keebio/iris/rev1/rev1.h +++ b/keyboards/keebio/iris/rev1/rev1.h @@ -2,10 +2,8 @@ #include "iris.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/keebio/iris/rev1_led/rev1_led.h b/keyboards/keebio/iris/rev1_led/rev1_led.h index da5c9cdc0362..19df105c2e02 100644 --- a/keyboards/keebio/iris/rev1_led/rev1_led.h +++ b/keyboards/keebio/iris/rev1_led/rev1_led.h @@ -2,10 +2,8 @@ #include "iris.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/keebio/iris/rev2/rev2.h b/keyboards/keebio/iris/rev2/rev2.h index da5c9cdc0362..19df105c2e02 100644 --- a/keyboards/keebio/iris/rev2/rev2.h +++ b/keyboards/keebio/iris/rev2/rev2.h @@ -2,10 +2,8 @@ #include "iris.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/keebio/levinson/rev1/rev1.h b/keyboards/keebio/levinson/rev1/rev1.h index 2120bb0fa943..1c555b6775bc 100644 --- a/keyboards/keebio/levinson/rev1/rev1.h +++ b/keyboards/keebio/levinson/rev1/rev1.h @@ -2,10 +2,8 @@ #include "levinson.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/keebio/levinson/rev2/rev2.h b/keyboards/keebio/levinson/rev2/rev2.h index 2120bb0fa943..1c555b6775bc 100644 --- a/keyboards/keebio/levinson/rev2/rev2.h +++ b/keyboards/keebio/levinson/rev2/rev2.h @@ -2,10 +2,8 @@ #include "levinson.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/keebio/levinson/rev3/rev3.h b/keyboards/keebio/levinson/rev3/rev3.h index a31bfd15c35a..da7349d2e7e4 100644 --- a/keyboards/keebio/levinson/rev3/rev3.h +++ b/keyboards/keebio/levinson/rev3/rev3.h @@ -2,10 +2,8 @@ #include "levinson.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ diff --git a/keyboards/keebio/nyquist/rev1/rev1.h b/keyboards/keebio/nyquist/rev1/rev1.h index 6d3a23383bfe..20f53b3b4479 100644 --- a/keyboards/keebio/nyquist/rev1/rev1.h +++ b/keyboards/keebio/nyquist/rev1/rev1.h @@ -2,10 +2,8 @@ #include "nyquist.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/keebio/nyquist/rev2/rev2.h b/keyboards/keebio/nyquist/rev2/rev2.h index 6d3a23383bfe..20f53b3b4479 100644 --- a/keyboards/keebio/nyquist/rev2/rev2.h +++ b/keyboards/keebio/nyquist/rev2/rev2.h @@ -2,10 +2,8 @@ #include "nyquist.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/keebio/rorschach/rev1/rev1.h b/keyboards/keebio/rorschach/rev1/rev1.h index 583f0efc4469..278bf8186eff 100644 --- a/keyboards/keebio/rorschach/rev1/rev1.h +++ b/keyboards/keebio/rorschach/rev1/rev1.h @@ -2,10 +2,8 @@ #include "rorschach.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/keebio/viterbi/rev1/rev1.h b/keyboards/keebio/viterbi/rev1/rev1.h index f31373f02e05..88a3200f6b2f 100644 --- a/keyboards/keebio/viterbi/rev1/rev1.h +++ b/keyboards/keebio/viterbi/rev1/rev1.h @@ -3,7 +3,6 @@ #include "viterbi.h" #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -12,8 +11,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/launchpad/rev1/rev1.h b/keyboards/launchpad/rev1/rev1.h index fd692cad1fef..6644db83006c 100644 --- a/keyboards/launchpad/rev1/rev1.h +++ b/keyboards/launchpad/rev1/rev1.h @@ -3,11 +3,8 @@ #include "../launchpad.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ K00, K01, \ K10, K11, \ @@ -21,4 +18,4 @@ { K30, K31 } \ } -#endif \ No newline at end of file +#endif diff --git a/keyboards/lets_split/rev1/rev1.h b/keyboards/lets_split/rev1/rev1.h index a43d4a25ba0b..6a65954f2294 100644 --- a/keyboards/lets_split/rev1/rev1.h +++ b/keyboards/lets_split/rev1/rev1.h @@ -2,11 +2,8 @@ #include "lets_split.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/lets_split/rev2/rev2.h b/keyboards/lets_split/rev2/rev2.h index 34e64e89f1fe..a1a3f00a0eb0 100644 --- a/keyboards/lets_split/rev2/rev2.h +++ b/keyboards/lets_split/rev2/rev2.h @@ -2,10 +2,8 @@ #include "lets_split.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/lets_split/sockets/sockets.h b/keyboards/lets_split/sockets/sockets.h index a79770bac6f3..0ee93c0206a4 100644 --- a/keyboards/lets_split/sockets/sockets.h +++ b/keyboards/lets_split/sockets/sockets.h @@ -3,10 +3,8 @@ #include "lets_split.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -15,8 +13,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifndef FLIP_HALF // Standard Keymap // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) diff --git a/keyboards/lily58/rev1/rev1.h b/keyboards/lily58/rev1/rev1.h index 4949bf5372d8..aa9f5727c2b8 100644 --- a/keyboards/lily58/rev1/rev1.h +++ b/keyboards/lily58/rev1/rev1.h @@ -2,7 +2,6 @@ #include "lily58.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE @@ -18,8 +17,6 @@ #endif #endif - -//void promicro_bootloader_jmp(bool program); #ifndef FLIP_HALF #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ @@ -62,4 +59,4 @@ { R30, R31, R32, R33, R34, R35 }, \ { KC_NO, R41, R42, R43, R44, R45 } \ } -#endif \ No newline at end of file +#endif diff --git a/keyboards/minidox/rev1/rev1.h b/keyboards/minidox/rev1/rev1.h index 99c579d6eb58..5d32b05d41a0 100644 --- a/keyboards/minidox/rev1/rev1.h +++ b/keyboards/minidox/rev1/rev1.h @@ -3,11 +3,8 @@ #include "../minidox.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); - // readability #define ___ KC_NO diff --git a/keyboards/naked48/rev1/rev1.h b/keyboards/naked48/rev1/rev1.h index 45878dc5052f..914459a8a583 100644 --- a/keyboards/naked48/rev1/rev1.h +++ b/keyboards/naked48/rev1/rev1.h @@ -2,7 +2,6 @@ #include "naked48.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE @@ -10,8 +9,6 @@ #include "ws2812.h" #endif -//void promicro_bootloader_jmp(bool program); - ////////////////////////////////////////////////////////////////////////////// // When only use Naked48. ////////////////////////////////////////////////////////////////////////////// diff --git a/keyboards/orthodox/rev1/rev1.h b/keyboards/orthodox/rev1/rev1.h index 783dfb34b95f..d9d0b78dfc3e 100644 --- a/keyboards/orthodox/rev1/rev1.h +++ b/keyboards/orthodox/rev1/rev1.h @@ -23,11 +23,8 @@ along with this program. If not, see . #include "orthodox.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, L16, L18, R10, R12, R13, R14, R15, R16, R17, R18, \ diff --git a/keyboards/orthodox/rev3/rev3.h b/keyboards/orthodox/rev3/rev3.h index 783dfb34b95f..d9d0b78dfc3e 100644 --- a/keyboards/orthodox/rev3/rev3.h +++ b/keyboards/orthodox/rev3/rev3.h @@ -23,11 +23,8 @@ along with this program. If not, see . #include "orthodox.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, L16, L18, R10, R12, R13, R14, R15, R16, R17, R18, \ diff --git a/keyboards/orthodox/rev3_teensy/rev3_teensy.h b/keyboards/orthodox/rev3_teensy/rev3_teensy.h index 783dfb34b95f..d9d0b78dfc3e 100644 --- a/keyboards/orthodox/rev3_teensy/rev3_teensy.h +++ b/keyboards/orthodox/rev3_teensy/rev3_teensy.h @@ -23,11 +23,8 @@ along with this program. If not, see . #include "orthodox.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, L16, L18, R10, R12, R13, R14, R15, R16, R17, R18, \ diff --git a/keyboards/pinky/3/3.h b/keyboards/pinky/3/3.h index ca1109d262a8..8bd2d49fafc5 100644 --- a/keyboards/pinky/3/3.h +++ b/keyboards/pinky/3/3.h @@ -2,7 +2,6 @@ #include "../pinky.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef USE_I2C @@ -13,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ diff --git a/keyboards/pinky/4/4.h b/keyboards/pinky/4/4.h index ad105ce7fc53..2550940011c9 100644 --- a/keyboards/pinky/4/4.h +++ b/keyboards/pinky/4/4.h @@ -2,7 +2,6 @@ #include "../pinky.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef USE_I2C @@ -13,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ diff --git a/keyboards/rgbkb/zen/rev1/rev1.h b/keyboards/rgbkb/zen/rev1/rev1.h index a12f2ea789ad..470a26a43f29 100644 --- a/keyboards/rgbkb/zen/rev1/rev1.h +++ b/keyboards/rgbkb/zen/rev1/rev1.h @@ -2,10 +2,8 @@ #include "zen.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \ k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \ diff --git a/keyboards/rgbkb/zen/rev2/rev2.h b/keyboards/rgbkb/zen/rev2/rev2.h index 101622988d3c..c545710abb7c 100644 --- a/keyboards/rgbkb/zen/rev2/rev2.h +++ b/keyboards/rgbkb/zen/rev2/rev2.h @@ -2,10 +2,8 @@ #include "zen.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" - #ifdef USE_I2C #include #ifdef __AVR__ @@ -14,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #ifdef CONVERT_TO_PROTON_C #define LAYOUT( \ k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \ diff --git a/keyboards/treadstone48/rev1/rev1.h b/keyboards/treadstone48/rev1/rev1.h index c6145398dd89..16ab2d716e04 100644 --- a/keyboards/treadstone48/rev1/rev1.h +++ b/keyboards/treadstone48/rev1/rev1.h @@ -3,7 +3,6 @@ #include "../treadstone48.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/vitamins_included/rev1/rev1.h b/keyboards/vitamins_included/rev1/rev1.h index 743c341c3cd4..aa5029034993 100644 --- a/keyboards/vitamins_included/rev1/rev1.h +++ b/keyboards/vitamins_included/rev1/rev1.h @@ -5,7 +5,6 @@ #include QMK_KEYBOARD_H -//void promicro_bootloader_jmp(bool program); #include "quantum.h" @@ -17,8 +16,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define KEYMAP( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/yosino58/rev1/rev1.h b/keyboards/yosino58/rev1/rev1.h index 84d90737d532..bc68892e8876 100644 --- a/keyboards/yosino58/rev1/rev1.h +++ b/keyboards/yosino58/rev1/rev1.h @@ -2,7 +2,6 @@ #include "../yosino58.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE @@ -18,7 +17,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/zinc/rev1/rev1.h b/keyboards/zinc/rev1/rev1.h index 933e635c2df1..aa1c408b0bf6 100644 --- a/keyboards/zinc/rev1/rev1.h +++ b/keyboards/zinc/rev1/rev1.h @@ -2,7 +2,6 @@ #include "../zinc.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE @@ -18,10 +17,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - - - // Standard Keymap // (TRRS jack on both halves are to the left side) #define LAYOUT( \ diff --git a/keyboards/zinc/reva/reva.h b/keyboards/zinc/reva/reva.h index 933e635c2df1..aa1c408b0bf6 100644 --- a/keyboards/zinc/reva/reva.h +++ b/keyboards/zinc/reva/reva.h @@ -2,7 +2,6 @@ #include "../zinc.h" -//void promicro_bootloader_jmp(bool program); #include "quantum.h" #ifdef RGBLIGHT_ENABLE @@ -18,10 +17,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - - - // Standard Keymap // (TRRS jack on both halves are to the left side) #define LAYOUT( \ From a0f248c20ed14303c742365e841ed2482749c972 Mon Sep 17 00:00:00 2001 From: Ceremony <5873369+Ceremony64@users.noreply.github.com> Date: Wed, 21 Aug 2019 03:26:00 +0200 Subject: [PATCH 006/416] Implement NUMLOCK indicator light for XD96 (#6581) --- keyboards/xd96/xd96.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/keyboards/xd96/xd96.c b/keyboards/xd96/xd96.c index 45cfb3b1f179..e2af9f100433 100644 --- a/keyboards/xd96/xd96.c +++ b/keyboards/xd96/xd96.c @@ -16,9 +16,11 @@ #include "xd96.h" #define CAPS_PIN B6 +#define NUMLOCK_PIN C6 void keyboard_pre_init_kb(void) { setPinOutput(CAPS_PIN); + setPinOutput(NUMLOCK_PIN); keyboard_pre_init_user(); } @@ -29,6 +31,12 @@ void led_set_kb(uint8_t usb_led) { } else { writePinHigh(CAPS_PIN); } + + if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { + writePinLow(NUMLOCK_PIN); + } else { + writePinHigh(NUMLOCK_PIN); + } led_set_user(usb_led); } From 42f2ad96a30cbd9dfaa7afbeddc1e532f4864640 Mon Sep 17 00:00:00 2001 From: mikethetiger <30720424+mikethetiger@users.noreply.github.com> Date: Tue, 20 Aug 2019 23:22:54 -0500 Subject: [PATCH 007/416] [Keymap] mikethetiger's let's split eh? keymap (#6562) * Added my Preonic keymap * Update keyboards/preonic/keymaps/mikethetiger/keymap.c Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com> * Update keyboards/preonic/keymaps/mikethetiger/keymap.c Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com> * Added my Preonic keymap * Added my Preonic keymap * mikethetigers lets slpit eh keymap --- .../keymaps/mikethetiger/config.h | 23 ++++ .../keymaps/mikethetiger/keymap.c | 120 ++++++++++++++++++ .../keymaps/mikethetiger/rules.mk | 0 3 files changed, 143 insertions(+) create mode 100644 keyboards/lets_split_eh/keymaps/mikethetiger/config.h create mode 100644 keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c create mode 100644 keyboards/lets_split_eh/keymaps/mikethetiger/rules.mk diff --git a/keyboards/lets_split_eh/keymaps/mikethetiger/config.h b/keyboards/lets_split_eh/keymaps/mikethetiger/config.h new file mode 100644 index 000000000000..c535299e74a0 --- /dev/null +++ b/keyboards/lets_split_eh/keymaps/mikethetiger/config.h @@ -0,0 +1,23 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + + // place overrides here diff --git a/keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c b/keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c new file mode 100644 index 000000000000..8ee300b74892 --- /dev/null +++ b/keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c @@ -0,0 +1,120 @@ +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layers { + _QWERTY, + _LOWER, + _RAISE, + _FUNCTION, + _ADJUST, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define FUNCTION MO(_FUNCTION) +#define ADJUST MO(_ADJUST) + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Tab | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT( \ + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT( \ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, 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_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | |Pg Up |Pg Dn | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT( \ + 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_DEL, 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_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | RESET| | | | | | |RGBMOD|RGBVAI|RGBSAI|RGBHUI|caltde| + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | |RGBRMO|RGBVAD|RGBSAD|RGBHUD|RGBTOG| + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | |BLSTEP| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT( \ + RESET, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, CALTDEL, \ + _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ +), + +/* Function + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | Up | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | Left | Down |Right | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Caps | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_FUNCTION] = LAYOUT( \ + _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, \ + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ +) + +}; + +uint32_t layer_state_set_user(uint32_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} diff --git a/keyboards/lets_split_eh/keymaps/mikethetiger/rules.mk b/keyboards/lets_split_eh/keymaps/mikethetiger/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 From 5fca6c01204f4cad9af17ec0529a11147a829427 Mon Sep 17 00:00:00 2001 From: Sid Carter Date: Wed, 21 Aug 2019 00:33:06 -0400 Subject: [PATCH 008/416] [Keymap] Add velocikey, move reset and align layout (#6569) --- .../projectkb/alice/keymaps/madhatter/keymap.c | 14 +++++++------- .../projectkb/alice/keymaps/madhatter/rules.mk | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 keyboards/projectkb/alice/keymaps/madhatter/rules.mk diff --git a/keyboards/projectkb/alice/keymaps/madhatter/keymap.c b/keyboards/projectkb/alice/keymaps/madhatter/keymap.c index 32cf7e0ba763..7ebb670e0c3f 100644 --- a/keyboards/projectkb/alice/keymaps/madhatter/keymap.c +++ b/keyboards/projectkb/alice/keymaps/madhatter/keymap.c @@ -25,19 +25,19 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_default( - KC_ESC, 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_DEL, KC_BSPC, + KC_ESC, KC_GESC, 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_DEL, KC_BSPC, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_PGDN, KC_GRV, 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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RALT, KC_LCTL, KC_LALT, KC_ENT, KC_LCMD, KC_SPC, FNM, KC_RCTL ), [_FNM] = LAYOUT_default( - RGB_TOG, _______, 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, - RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, - RGB_RMOD, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RESET, _______, _______, _______, _______, _______, _______ + RGB_TOG, _______, 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, + RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, RESET, + VLK_TOG, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, + _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/projectkb/alice/keymaps/madhatter/rules.mk b/keyboards/projectkb/alice/keymaps/madhatter/rules.mk new file mode 100644 index 000000000000..1b0f198d06c1 --- /dev/null +++ b/keyboards/projectkb/alice/keymaps/madhatter/rules.mk @@ -0,0 +1 @@ +VELOCIKEY_ENABLE = yes From 367eac22293ac148e19e545e110d5a591de1eb6e Mon Sep 17 00:00:00 2001 From: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 20 Aug 2019 21:57:45 -0700 Subject: [PATCH 009/416] [Keyboard] PCB Ruler updates (#6584) * Move default keymap's rules to keyboard level * Concatenate the two sets of rules This sets CONSOLE_ENABLE to no, which was being set at the keymap level. * Wrap the USB Device Description in quotes Some preventative maintenance. The firmware for the_ruler can't be compiled without this change if `CONSOLE_ENABLE = yes` because this string has a comma, which gets picked up as two arguments by the Command code, instead of one as it should be. * Linting - remove firmware size impacts - remove trailing white space - visual alignment of rules * Use QMK's pre-loaded default rules for atmega32u4 * Update readme - markdown formatting - update Hardware Availability link (Maple Computing's site has disappeared) - update Docs links * Update header files to use #pragma once --- keyboards/the_ruler/config.h | 7 +-- keyboards/the_ruler/keymaps/default/rules.mk | 18 -------- keyboards/the_ruler/readme.md | 9 ++-- keyboards/the_ruler/rules.mk | 47 +++----------------- keyboards/the_ruler/the_ruler.h | 5 +-- 5 files changed, 12 insertions(+), 74 deletions(-) diff --git a/keyboards/the_ruler/config.h b/keyboards/the_ruler/config.h index ecae3a4f21c0..0ec3f69d1bd5 100644 --- a/keyboards/the_ruler/config.h +++ b/keyboards/the_ruler/config.h @@ -15,8 +15,7 @@ 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 +#pragma once #include "config_common.h" @@ -26,7 +25,7 @@ along with this program. If not, see . #define DEVICE_VER 0x0001 #define MANUFACTURER Maple Computing #define PRODUCT The PCB Ruler -#define DESCRIPTION A custom keyboard PCB ruler, can also function as a macro pad +#define DESCRIPTION "A custom keyboard PCB ruler, can also function as a macro pad" /* key matrix size */ #define MATRIX_ROWS 1 @@ -155,5 +154,3 @@ along with this program. If not, see . #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_VAL_STEP 17 - -#endif diff --git a/keyboards/the_ruler/keymaps/default/rules.mk b/keyboards/the_ruler/keymaps/default/rules.mk index 2791cc1054b7..e69de29bb2d1 100644 --- a/keyboards/the_ruler/keymaps/default/rules.mk +++ b/keyboards/the_ruler/keymaps/default/rules.mk @@ -1,18 +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 = 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 = yes # Enable WS2812 RGB underlight. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/the_ruler/readme.md b/keyboards/the_ruler/readme.md index 63a6ffeee37a..13ea61c9a7e5 100644 --- a/keyboards/the_ruler/readme.md +++ b/keyboards/the_ruler/readme.md @@ -1,14 +1,13 @@ -The Ruler PCB -======= +# The Ruler PCB -A custom keyboard PCB ruler, that can also function as a macro pad +A custom keyboard PCB ruler, that can also function as a macro pad. Keyboard Maintainer: Maple Computing Hardware Supported: PCB Ruler V1 by That-Canadian and Bishop Keyboards -Hardware Availability: https://www.maple-computing.com/products/pcb-ruler-v1-1 +Hardware Availability: [Bishop Keyboards](https://bishopkeyboards.com/product/pcb-ruler-gloss-black-silver/) Make example for this keyboard (after setting up your build environment): make the_ruler:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/the_ruler/rules.mk b/keyboards/the_ruler/rules.mk index 7eca12ad4f2a..33611c44bb0b 100644 --- a/keyboards/the_ruler/rules.mk +++ b/keyboards/the_ruler/rules.mk @@ -1,43 +1,6 @@ # MCU name 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 @@ -50,10 +13,10 @@ 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) +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend @@ -64,4 +27,4 @@ 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 -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. diff --git a/keyboards/the_ruler/the_ruler.h b/keyboards/the_ruler/the_ruler.h index 45a327b0dccd..171d21a072a6 100644 --- a/keyboards/the_ruler/the_ruler.h +++ b/keyboards/the_ruler/the_ruler.h @@ -1,5 +1,4 @@ -#ifndef THERULER_H -#define THERULER_H +#pragma once #include "quantum.h" @@ -7,5 +6,3 @@ K00, K01, K02, K03, K04, K05 ) { \ { K00, K01, K02, K03, K04, K05 } \ } - -#endif From 977c316eb1bdca7f0e13026936322cb9a9fcd0d2 Mon Sep 17 00:00:00 2001 From: imchipwood Date: Tue, 20 Aug 2019 22:08:30 -0700 Subject: [PATCH 010/416] [Keymap] dumbpad updates, new keymap (#6481) * removed some debug prints * removed unnecessary files, tweaked some things * rotary encoder button now connected into column 0, row 3 * tweaked keymap and moved encoder control into keymap * tweaks * added test keymap * updated some things to make it easier to work with QMK configurator * updates after merging latest master in * fixed a few things * removed test keymap and all related #ifdefs * changed some dumbpad default keys, added KC_LOCK * added image to readme * added link to PCB github repo * moved lock key to the rotary encoder pushbutton * making suggested changes from @fauxpark in https://github.com/qmk/qmk_firmware/pull/6452 * adding bootmagic lite since i'm lazy and haven't soldered on the reset button... * renamed to * using 7 underscores for KC_TRNS * adding my layout (default is for wife) * updated my own layout, tweaked default keymap to use cleaner switch for encoder control * removed commented out import from imchipwood keymap, removed unnecessary comment from default layout * added LED layer control * flash the layer indicator LEDs at startup * change layer_state_set_user to layer_state_set_kb Co-Authored-By: Joel Challis * in layer_state_set_kb, return layer_state_set_user Co-Authored-By: Drashna Jaelre * remove include of upper level config.h, add pragma once Co-Authored-By: Drashna Jaelre * changing default keymap slightly, added config.h for default layout * change _delay_ms to wait_ms * replaced locking numlock with numlock * Update keyboards/dumbpad/dumbpad.c change `keyboard_pre_init_user` to `keyboard_pre_init_kb` Co-Authored-By: Joel Challis * Update keyboards/dumbpad/dumbpad.c adding `keyboard_pre_init_user()` to `keyboard_pre_init_kb()` Co-Authored-By: Joel Challis * fixed some comments about the layer key (MO to TT) and the SUB layer rotary encoder control --- keyboards/dumbpad/config.h | 4 + keyboards/dumbpad/dumbpad.c | 40 ++++- keyboards/dumbpad/keymaps/default/config.h | 2 + keyboards/dumbpad/keymaps/default/keymap.c | 45 +++-- keyboards/dumbpad/keymaps/imchipwood/config.h | 2 + keyboards/dumbpad/keymaps/imchipwood/keymap.c | 163 ++++++++++++++++++ 6 files changed, 237 insertions(+), 19 deletions(-) create mode 100644 keyboards/dumbpad/keymaps/default/config.h create mode 100644 keyboards/dumbpad/keymaps/imchipwood/config.h create mode 100644 keyboards/dumbpad/keymaps/imchipwood/keymap.c diff --git a/keyboards/dumbpad/config.h b/keyboards/dumbpad/config.h index a7d4e7b3c8ca..3c27a35b28d0 100644 --- a/keyboards/dumbpad/config.h +++ b/keyboards/dumbpad/config.h @@ -51,6 +51,10 @@ along with this program. If not, see . #define ENCODERS_PAD_A { D0 } #define ENCODERS_PAD_B { D4 } +/* LED layer indicators */ +#define LAYER_INDICATOR_LED_0 B3 +#define LAYER_INDICATOR_LED_1 B1 + /* Bootmagic - hold down rotary encoder pushbutton while plugging in to enter bootloader */ #define BOOTMAGIC_LITE_ROW 3 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dumbpad/dumbpad.c b/keyboards/dumbpad/dumbpad.c index b53856237c05..d9b649c7155b 100644 --- a/keyboards/dumbpad/dumbpad.c +++ b/keyboards/dumbpad/dumbpad.c @@ -15,15 +15,49 @@ */ #include "dumbpad.h" +void keyboard_pre_init_kb(void) { + // Set the layer LED IO as outputs + setPinOutput(LAYER_INDICATOR_LED_0); + setPinOutput(LAYER_INDICATOR_LED_1); + + keyboard_pre_init_user(); +} + +void shutdown_user() { + // Shutdown the layer LEDs + writePinLow(LAYER_INDICATOR_LED_0); + writePinLow(LAYER_INDICATOR_LED_1); +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + // Layer LEDs act as binary indication of current layer + uint8_t layer = biton32(state); + writePin(LAYER_INDICATOR_LED_0, layer & 0b1); + writePin(LAYER_INDICATOR_LED_1, (layer >> 1) & 0b1); + return layer_state_set_user(state); +} + // Optional override functions below. // You can leave any or all of these undefined. // These are only required if you want to perform custom actions. -/* - void matrix_init_kb(void) { // put your keyboard start-up code here // runs once when the firmware starts up + for (int i = 0; i < 2; i++) { + writePin(LAYER_INDICATOR_LED_0, true); + writePin(LAYER_INDICATOR_LED_1, false); + wait_ms(100); + writePin(LAYER_INDICATOR_LED_0, true); + writePin(LAYER_INDICATOR_LED_1, true); + wait_ms(100); + writePin(LAYER_INDICATOR_LED_0, false); + writePin(LAYER_INDICATOR_LED_1, true); + wait_ms(100); + writePin(LAYER_INDICATOR_LED_0, false); + writePin(LAYER_INDICATOR_LED_1, false); + wait_ms(100); + } matrix_init_user(); } @@ -47,5 +81,3 @@ void led_set_kb(uint8_t usb_led) { led_set_user(usb_led); } - -*/ diff --git a/keyboards/dumbpad/keymaps/default/config.h b/keyboards/dumbpad/keymaps/default/config.h new file mode 100644 index 000000000000..838088559313 --- /dev/null +++ b/keyboards/dumbpad/keymaps/default/config.h @@ -0,0 +1,2 @@ +#pragma once +#define TAPPING_TOGGLE 2 diff --git a/keyboards/dumbpad/keymaps/default/keymap.c b/keyboards/dumbpad/keymaps/default/keymap.c index 061215a61bcd..c0d4a7c0771e 100644 --- a/keyboards/dumbpad/keymaps/default/keymap.c +++ b/keyboards/dumbpad/keymaps/default/keymap.c @@ -28,14 +28,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |---------|---------|---------|---------| | | 1 | 2 | 3 | Tab | |-------------|---------|---------|---------|---------| - | Left mouse | MO(SUB) | 0 | . | Enter | + | Left mouse | TT(SUB) | 0 | . | Enter | \-----------------------------------------------------' */ - [_BASE] = LAYOUT( /* Base */ + [_BASE] = LAYOUT( KC_7, KC_8, KC_9, KC_BSPC, KC_4, KC_5, KC_6, KC_ESC, KC_1, KC_2, KC_3, KC_TAB, - KC_BTN1, MO(_SUB), KC_0, KC_DOT, KC_ENTER + KC_BTN1, TT(_SUB), KC_0, KC_DOT, KC_ENTER ), /* SUB LAYER @@ -88,19 +88,34 @@ void led_set_user(uint8_t usb_led) { } void encoder_update_user(uint8_t index, bool clockwise) { + /* Custom encoder control - handles CW/CCW turning of encoder + * Default behavior: + * main layer: + * CW: move mouse right + * CCW: move mouse left + * other layers: + * CW: = (equals/plus - increase slider in Adobe products) + * CCW: - (minus/underscore - decrease slider in adobe products) + */ if (index == 0) { - if (layer_state && 0x1) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else { - if (clockwise) { - tap_code(KC_MS_R); - } else { - tap_code(KC_MS_L); - } + switch (biton32(layer_state)) { + case _BASE: + // main layer - move mouse right (CW) and left (CCW) + if (clockwise) { + tap_code(KC_MS_R); + } else { + tap_code(KC_MS_L); + } + break; + + default: + // other layers - =/+ (quals/plus) (CW) and -/_ (minus/underscore) (CCW) + if (clockwise) { + tap_code(KC_EQL); + } else { + tap_code(KC_MINS); + } + break; } } } diff --git a/keyboards/dumbpad/keymaps/imchipwood/config.h b/keyboards/dumbpad/keymaps/imchipwood/config.h new file mode 100644 index 000000000000..838088559313 --- /dev/null +++ b/keyboards/dumbpad/keymaps/imchipwood/config.h @@ -0,0 +1,2 @@ +#pragma once +#define TAPPING_TOGGLE 2 diff --git a/keyboards/dumbpad/keymaps/imchipwood/keymap.c b/keyboards/dumbpad/keymaps/imchipwood/keymap.c new file mode 100644 index 000000000000..73a8e824ca25 --- /dev/null +++ b/keyboards/dumbpad/keymaps/imchipwood/keymap.c @@ -0,0 +1,163 @@ +/* Copyright 2019 imchipwood + * + * 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 QMK_KEYBOARD_H + +#define _BASE 0 +#define _SUB 1 +#define _DBG 2 + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + BASE LAYER + /-----------------------------------------------------` + | | 7 | 8 | 9 | Bkspc | + | |---------|---------|---------|---------| + | | 4 | 5 | 6 | + | + | |---------|---------|---------|---------| + | | 1 | 2 | 3 | * | + |-------------|---------|---------|---------|---------| + | Play/Pause | TT(SUB) | 0 | . | Enter | + \-----------------------------------------------------' + */ + [_BASE] = LAYOUT( + KC_P7, KC_P8, KC_P9, KC_BSPC, + KC_P4, KC_P5, KC_P6, KC_KP_PLUS, + KC_P1, KC_P2, KC_P3, KC_KP_ASTERISK, + KC_MPLY, TT(_SUB), KC_P0, KC_PDOT, KC_KP_ENTER + ), + /* + SUB LAYER + /-----------------------------------------------------` + | | | | | Numlock | + | |---------|---------|---------|---------| + | | | | | - | + | |---------|---------|---------|---------| + | | | | | / | + |-------------|---------|---------|---------|---------| + | MO(_DBG) | | | | = | + \-----------------------------------------------------' + */ + [_SUB] = LAYOUT( + _______, _______, _______, KC_NLCK, + _______, _______, _______, KC_KP_MINUS, + _______, _______, _______, KC_KP_SLASH, + MO(_DBG), _______, _______, _______, KC_KP_EQUAL + ), + /* + DEBUG LAYER + /-----------------------------------------------------` + | | | | | Reset | + | |---------|---------|---------|---------| + | | | | | | + | |---------|---------|---------|---------| + | | | | | | + |-------------|---------|---------|---------|---------| + | | | | | | + \-----------------------------------------------------' + */ + [_DBG] = LAYOUT( + _______, _______, _______, RESET, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, _______ + ), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // If console is enabled, it will print the matrix position and status of each key pressed +/* +#ifdef CONSOLE_ENABLE + uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); +#endif +*/ + return true; +} + +void keyboard_post_init_user(void) { + // Customise these values to desired behaviour + //debug_enable = true; + //debug_matrix = true; + //debug_keyboard = true; + //debug_mouse = true; +} + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +void led_set_user(uint8_t usb_led) { + +} + + +void encoder_update_user(uint8_t index, bool clockwise) { + /* Custom encoder control - handles CW/CCW turning of encoder + * Cusotom behavior: + * main layer: + * CW: volume up + * CCW: volume down + * sub layer: + * CW: next media track + * CCW: prev media track + * debug layer: + * CW: brightness up + * CCW: brightness down + */ + if (index == 0) { + switch (biton32(layer_state)) { + case _BASE: + // main layer - volume up (CW) and down (CCW) + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + + case _SUB: + // sub layer - next track (CW) and previous track (CCW) + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + break; + + case _DBG: + // debug layer - brightness up (CW) and brightness down (CCW) + if (clockwise) { + tap_code(KC_BRIU); + } else { + tap_code(KC_BRID); + } + break; + + default: + // any other layer (shouldn't exist..) - volume up (CW) and down (CCW) + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + } + } +} From f2c179de58c63b2202a490d283fd8fa216680ce7 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 21 Aug 2019 15:18:52 +1000 Subject: [PATCH 011/416] Remove superfluous JTAG disable code (#6445) * Remove superfluous JTAG disable code * 32A has differently named register * Accidentally some operators * 32A also has different JTAG pins * Wrap disable_jtag() in an ifndef * Document this new define * Rename the define, it conflicts with a LUFA thing Also, move the ifndef wrapping to the call in keyboard_setup() --- docs/faq_debug.md | 17 +++++------------ docs/zh-cn/faq_debug.md | 17 ----------------- keyboards/amj96/matrix.c | 3 --- keyboards/clueboard/17/17.c | 4 ---- keyboards/clueboard/66/rev2/rev2.c | 4 ---- .../clueboard/66_hotswap/prototype/prototype.c | 4 ---- keyboards/ergodone/matrix.c | 4 ---- keyboards/handwired/promethium/matrix.c | 7 ------- keyboards/hhkb/rn42/rn42.c | 4 ---- keyboards/hid_liber/matrix.c | 4 ---- keyboards/hotdox/matrix.c | 4 ---- keyboards/launchpad/rev1/rev1.c | 7 +------ keyboards/lets_split/sockets/sockets.h | 1 - keyboards/miniaxe/config.h | 2 -- keyboards/sx60/matrix.c | 7 ------- keyboards/vitamins_included/matrix.c | 6 ------ keyboards/vitamins_included/rev1/rev1.h | 1 - tmk_core/common/keyboard.c | 11 +++++++++-- tmk_core/common/keyboard.h | 2 -- 19 files changed, 15 insertions(+), 94 deletions(-) diff --git a/docs/faq_debug.md b/docs/faq_debug.md index f6cc729b6123..5cc20251d309 100644 --- a/docs/faq_debug.md +++ b/docs/faq_debug.md @@ -184,22 +184,15 @@ Pressing any key during sleep should wake host. Arduino Leonardo and micro have **ATMega32U4** and can be used for TMK, though Arduino bootloader may be a problem. +## Enabling JTAG -## Using PF4-7 Pins of USB AVR? -You need to set JTD bit of MCUCR yourself to use PF4-7 as GPIO. Those pins are configured to serve JTAG function by default. MCUs like ATMega*U* or AT90USB* are affected with this. +By default, the JTAG debugging interface is disabled as soon as the keyboard starts up. JTAG-capable MCUs come from the factory with the `JTAGEN` fuse set, and it takes over certain pins of the MCU that the board may be using for the switch matrix, LEDs, etc. -If you are using Teensy this isn't needed. Teensy is shipped with JTAGEN fuse bit unprogrammed to disable the function. +If you would like to keep JTAG enabled, just add the following to your `config.h`: -See this code. +```c +#define NO_JTAG_DISABLE ``` - // JTAG disable for PORT F. write JTD bit twice within four cycles. - MCUCR |= (1< -代码如下。 -``` - // F接口JTAG失能。在四个周期内写入两次JTD位。 - MCUCR |= (1<. //#define EE_HANDS #define I2C_MASTER_LEFT //#define I2C_MASTER_RIGHT - -#define DISABLE_JTAG diff --git a/keyboards/sx60/matrix.c b/keyboards/sx60/matrix.c index e8e9d6574e85..58647d13b088 100644 --- a/keyboards/sx60/matrix.c +++ b/keyboards/sx60/matrix.c @@ -113,13 +113,6 @@ uint8_t matrix_cols(void) { } void matrix_init(void) { - - /* To use PORTF disable JTAG with writing JTD bit twice within four cycles. */ - #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__)) - MCUCR |= _BV(JTD); - MCUCR |= _BV(JTD); - #endif - mcp23018_status = true; /* initialize row and col */ diff --git a/keyboards/vitamins_included/matrix.c b/keyboards/vitamins_included/matrix.c index 1f5071c69325..d44e70f08ee6 100644 --- a/keyboards/vitamins_included/matrix.c +++ b/keyboards/vitamins_included/matrix.c @@ -136,12 +136,6 @@ bool has_usb(void) { void matrix_init(void) { -#ifdef DISABLE_JTAG - // JTAG disable for PORT F. write JTD bit twice within four cycles. - MCUCR |= (1< Date: Tue, 20 Aug 2019 22:39:13 -0700 Subject: [PATCH 012/416] [Keyboard] Tweak RGB Matrix timing for ZSA Boards (#6422) * Optimize RGB Matrix rendering for Ergodox EZ * Optimize RGB Matrix rendering for Planck EZ * Update keyboards/planck/ez/config.h Co-Authored-By: Joel Challis --- keyboards/ergodox_ez/config.h | 3 +++ keyboards/planck/ez/config.h | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index d22836bd8676..45ca06a5d228 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -109,6 +109,9 @@ along with this program. If not, see . #define DRIVER_2_LED_TOTAL 24 #define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_PROCESS_LIMIT 5 +#define RGB_MATRIX_LED_FLUSH_LIMIT 26 + // #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF /* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */ /* #define RGBLIGHT_COLOR_LAYER_2 0xFF, 0x00, 0x00 */ diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h index d007873bbaa4..61d9981c181b 100644 --- a/keyboards/planck/ez/config.h +++ b/keyboards/planck/ez/config.h @@ -140,6 +140,10 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_LED_PROCESS_LIMIT 5 +#define RGB_MATRIX_LED_FLUSH_LIMIT 26 + + #define IGNORE_MOD_TAP_INTERRUPT #define TAPPING_TOGGLE 1 From d534c72a544454132b3c6c05af85c821f6a93d65 Mon Sep 17 00:00:00 2001 From: Stephen Wanhella Date: Wed, 21 Aug 2019 17:07:08 -0700 Subject: [PATCH 013/416] Added keycodes for swapping and unswapping the Control and OS keys (#6110) * Add MAGIC_SWAP_CONTROL_LGUI and MAGIC_UNSWAP_CONTROL_LGUI keycodes Key codes to swap and unswap the control and windows/cmd keys * Fix issues with pull request #6110 Renamed swap/unswap lctl and lgui key codes, added key codes to swap/unswap rctl and rgui, and moved new bool inside keycode_config.h struct to the end * Move new keycodes to the end of the enum (#6110) * add cases for swapped control and OS keys to mod_config (#6110) * Add new keycodes to feature_bootmagic.md (#6110) * Add R+L swap codes to keep in parity with AG_* codes * Extend Magic range check to include new magic codes * Update audio docs * Combine 2 byte ranges into 1 word for EECONFG Fix names for Keymap config EEPROM * Update docs/feature_bootmagic.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/feature_bootmagic.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/feature_bootmagic.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/feature_bootmagic.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> --- docs/feature_audio.md | 2 ++ docs/feature_bootmagic.md | 11 +++++++-- docs/keycodes.md | 11 +++++++-- quantum/keycode_config.c | 38 ++++++++++++++++++++++++++++++ quantum/keycode_config.h | 2 ++ quantum/quantum.c | 48 +++++++++++++++++++++++++++++++++++++- quantum/quantum_keycodes.h | 13 +++++++++++ tmk_core/common/command.c | 2 ++ tmk_core/common/eeconfig.c | 12 +++++++--- tmk_core/common/eeconfig.h | 8 ++++--- 10 files changed, 136 insertions(+), 11 deletions(-) diff --git a/docs/feature_audio.md b/docs/feature_audio.md index 7511598bcfb3..5132dfe9719e 100644 --- a/docs/feature_audio.md +++ b/docs/feature_audio.md @@ -21,6 +21,8 @@ STARTUP_SONG // plays when the keyboard starts up (audio.c) GOODBYE_SONG // plays when you press the RESET key (quantum.c) AG_NORM_SONG // plays when you press AG_NORM (quantum.c) AG_SWAP_SONG // plays when you press AG_SWAP (quantum.c) +CG_NORM_SONG // plays when you press CG_NORM (quantum.c) +CG_SWAP_SONG // plays when you press CG_SWAP (quantum.c) MUSIC_ON_SONG // plays when music mode is activated (process_music.c) MUSIC_OFF_SONG // plays when music mode is deactivated (process_music.c) CHROMATIC_SONG // plays when the chromatic music mode is selected (process_music.c) diff --git a/docs/feature_bootmagic.md b/docs/feature_bootmagic.md index 225189ccb764..fc37a3302b1e 100644 --- a/docs/feature_bootmagic.md +++ b/docs/feature_bootmagic.md @@ -64,8 +64,11 @@ Hold down the Bootmagic key (Space by default) and the desired hotkey while plug |`MAGIC_NO_GUI` | |Disable the GUI keys (useful when gaming) | |`MAGIC_UNNO_GUI` | |Enable the GUI keys | |`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides (for macOS)| -|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Left Alt and Left GUI | -|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Left Alt and GUI swap | +|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI | +|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap | +|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Ctrl and GUI on both sides (for macOS)| +|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Ctrl and GUI | +|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Ctrl and GUI swap | |`MAGIC_SWAP_BACKSLASH_BACKSPACE` | |Swap `\` and Backspace | |`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`| |Unswap `\` and Backspace | |`MAGIC_SWAP_CONTROL_CAPSLOCK` | |Swap Left Control and Caps Lock | @@ -76,6 +79,10 @@ Hold down the Bootmagic key (Space by default) and the desired hotkey while plug |`MAGIC_UNSWAP_LALT_LGUI` | |Unswap Left Alt and Left GUI | |`MAGIC_SWAP_RALT_RGUI` | |Swap Right Alt and Right GUI | |`MAGIC_UNSWAP_RALT_RGUI` | |Unswap Right Alt and Right GUI | +|`MAGIC_SWAP_LCTL_LGUI` | |Swap Left Control and Left GUI | +|`MAGIC_UNSWAP_LCTL_LGUI` | |Unswap Left Control and Left GUI | +|`MAGIC_SWAP_RCTL_RGUI` | |Swap Right Control and Right GUI | +|`MAGIC_UNSWAP_RCTL_RGUI` | |Unswap Right Control and Right GUI | ## Configuration diff --git a/docs/keycodes.md b/docs/keycodes.md index bd4dd61a5b43..e17fef6fd20a 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -261,6 +261,8 @@ This is a reference only. Each group of keys links to the page documenting their |----------------------------------|---------|------------------------------------| |`MAGIC_SWAP_CONTROL_CAPSLOCK` | |Swap Caps Lock and Left Control | |`MAGIC_CAPSLOCK_TO_CONTROL` | |Treat Caps Lock as Control | +|`MAGIC_SWAP_LCTL_LGUI` | |Swap Left Control and GUI | +|`MAGIC_SWAP_RCTL_RGUI` | |Swap Right Control and GUI | |`MAGIC_SWAP_LALT_LGUI` | |Swap Left Alt and GUI | |`MAGIC_SWAP_RALT_RGUI` | |Swap Right Alt and GUI | |`MAGIC_NO_GUI` | |Disable the GUI key | @@ -268,8 +270,11 @@ This is a reference only. Each group of keys links to the page documenting their |`MAGIC_SWAP_BACKSLASH_BACKSPACE` | |Swap `\` and Backspace | |`MAGIC_HOST_NKRO` | |Force NKRO on | |`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides | +|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Ctrl and GUI on both sides (for macOS)| |`MAGIC_UNSWAP_CONTROL_CAPSLOCK` | |Unswap Caps Lock and Left Control | |`MAGIC_UNCAPSLOCK_TO_CONTROL` | |Stop treating Caps Lock as Control | +|`MAGIC_UNSWAP_LCTL_LGUI` | |Unswap Left Control and GUI | +|`MAGIC_UNSWAP_RCTL_RGUI` | |Unswap Right Control and GUI | |`MAGIC_UNSWAP_LALT_LGUI` | |Unswap Left Alt and GUI | |`MAGIC_UNSWAP_RALT_RGUI` | |Unswap Right Alt and GUI | |`MAGIC_UNNO_GUI` | |Enable the GUI key | @@ -277,8 +282,10 @@ This is a reference only. Each group of keys links to the page documenting their |`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`| |Unswap `\` and Backspace | |`MAGIC_UNHOST_NKRO` | |Force NKRO off | |`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides | -|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides| -|`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off | +|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Ctrl and GUI on both sides | +|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides | +|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Ctrl and GUI swap on both sides | +|`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off | ## [Bluetooth](feature_bluetooth.md) diff --git a/quantum/keycode_config.c b/quantum/keycode_config.c index 0dc5105d2186..73fe15861d08 100644 --- a/quantum/keycode_config.c +++ b/quantum/keycode_config.c @@ -31,6 +31,12 @@ uint16_t keycode_config(uint16_t keycode) { if (keymap_config.swap_control_capslock) { return KC_CAPSLOCK; } + if (keymap_config.swap_lctl_lgui) { + if (keymap_config.no_gui) { + return KC_NO; + } + return KC_LGUI; + } return KC_LCTL; case KC_LALT: if (keymap_config.swap_lalt_lgui) { @@ -44,10 +50,21 @@ uint16_t keycode_config(uint16_t keycode) { if (keymap_config.swap_lalt_lgui) { return KC_LALT; } + if (keymap_config.swap_lctl_lgui) { + return KC_LCTRL; + } if (keymap_config.no_gui) { return KC_NO; } return KC_LGUI; + case KC_RCTL: + if (keymap_config.swap_rctl_rgui) { + if (keymap_config.no_gui) { + return KC_NO; + } + return KC_RGUI; + } + return KC_RCTL; case KC_RALT: if (keymap_config.swap_ralt_rgui) { if (keymap_config.no_gui) { @@ -60,6 +77,9 @@ uint16_t keycode_config(uint16_t keycode) { if (keymap_config.swap_ralt_rgui) { return KC_RALT; } + if (keymap_config.swap_rctl_rgui) { + return KC_RCTL; + } if (keymap_config.no_gui) { return KC_NO; } @@ -108,6 +128,24 @@ uint8_t mod_config(uint8_t mod) { mod |= MOD_RGUI; } } + if (keymap_config.swap_lctl_lgui) { + if ((mod & MOD_RGUI) == MOD_LGUI) { + mod &= ~MOD_LGUI; + mod |= MOD_LCTL; + } else if ((mod & MOD_RCTL) == MOD_LCTL) { + mod &= ~MOD_LCTL; + mod |= MOD_LGUI; + } + } + if (keymap_config.swap_rctl_rgui) { + if ((mod & MOD_RGUI) == MOD_RGUI) { + mod &= ~MOD_RGUI; + mod |= MOD_RCTL; + } else if ((mod & MOD_RCTL) == MOD_RCTL) { + mod &= ~MOD_RCTL; + mod |= MOD_RGUI; + } + } if (keymap_config.no_gui) { mod &= ~MOD_LGUI; mod &= ~MOD_RGUI; diff --git a/quantum/keycode_config.h b/quantum/keycode_config.h index 022f4bd19bba..7b01fcea456e 100644 --- a/quantum/keycode_config.h +++ b/quantum/keycode_config.h @@ -36,6 +36,8 @@ typedef union { bool swap_grave_esc:1; bool swap_backslash_backspace:1; bool nkro:1; + bool swap_lctl_lgui:1; + bool swap_rctl_rgui:1; }; } keymap_config_t; diff --git a/quantum/quantum.c b/quantum/quantum.c index 77cbbb2e77d7..f489c90310e9 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -65,9 +65,17 @@ extern backlight_config_t backlight_config; #ifndef AG_SWAP_SONG #define AG_SWAP_SONG SONG(AG_SWAP_SOUND) #endif + #ifndef CG_NORM_SONG + #define CG_NORM_SONG SONG(AG_NORM_SOUND) + #endif + #ifndef CG_SWAP_SONG + #define CG_SWAP_SONG SONG(AG_SWAP_SOUND) + #endif float goodbye_song[][2] = GOODBYE_SONG; float ag_norm_song[][2] = AG_NORM_SONG; float ag_swap_song[][2] = AG_SWAP_SONG; + float cg_norm_song[][2] = CG_NORM_SONG; + float cg_swap_song[][2] = CG_SWAP_SONG; #ifdef DEFAULT_LAYER_SONGS float default_layer_songs[][16][2] = DEFAULT_LAYER_SONGS; #endif @@ -563,7 +571,8 @@ bool process_record_quantum(keyrecord_t *record) { return false; #endif #endif - case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_NKRO: + case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_ALT_GUI: + case MAGIC_SWAP_LCTL_LGUI ... MAGIC_TOGGLE_CTL_GUI: if (record->event.pressed) { // MAGIC actions (BOOTMAGIC without the boot) if (!eeconfig_is_enabled()) { @@ -585,6 +594,12 @@ bool process_record_quantum(keyrecord_t *record) { case MAGIC_SWAP_RALT_RGUI: keymap_config.swap_ralt_rgui = true; break; + case MAGIC_SWAP_LCTL_LGUI: + keymap_config.swap_lctl_lgui = true; + break; + case MAGIC_SWAP_RCTL_RGUI: + keymap_config.swap_rctl_rgui = true; + break; case MAGIC_NO_GUI: keymap_config.no_gui = true; break; @@ -604,6 +619,13 @@ bool process_record_quantum(keyrecord_t *record) { PLAY_SONG(ag_swap_song); #endif break; + case MAGIC_SWAP_CTL_GUI: + keymap_config.swap_lctl_lgui = true; + keymap_config.swap_rctl_rgui = true; + #ifdef AUDIO_ENABLE + PLAY_SONG(cg_swap_song); + #endif + break; case MAGIC_UNSWAP_CONTROL_CAPSLOCK: keymap_config.swap_control_capslock = false; break; @@ -616,6 +638,12 @@ bool process_record_quantum(keyrecord_t *record) { case MAGIC_UNSWAP_RALT_RGUI: keymap_config.swap_ralt_rgui = false; break; + case MAGIC_UNSWAP_LCTL_LGUI: + keymap_config.swap_lctl_lgui = false; + break; + case MAGIC_UNSWAP_RCTL_RGUI: + keymap_config.swap_rctl_rgui = false; + break; case MAGIC_UNNO_GUI: keymap_config.no_gui = false; break; @@ -635,6 +663,13 @@ bool process_record_quantum(keyrecord_t *record) { PLAY_SONG(ag_norm_song); #endif break; + case MAGIC_UNSWAP_CTL_GUI: + keymap_config.swap_lctl_lgui = false; + keymap_config.swap_rctl_rgui = false; + #ifdef AUDIO_ENABLE + PLAY_SONG(cg_norm_song); + #endif + break; case MAGIC_TOGGLE_ALT_GUI: keymap_config.swap_lalt_lgui = !keymap_config.swap_lalt_lgui; keymap_config.swap_ralt_rgui = !keymap_config.swap_ralt_rgui; @@ -646,6 +681,17 @@ bool process_record_quantum(keyrecord_t *record) { } #endif break; + case MAGIC_TOGGLE_CTL_GUI: + keymap_config.swap_lctl_lgui = !keymap_config.swap_lctl_lgui; + keymap_config.swap_rctl_rgui = !keymap_config.swap_rctl_rgui; + #ifdef AUDIO_ENABLE + if (keymap_config.swap_rctl_rgui) { + PLAY_SONG(cg_swap_song); + } else { + PLAY_SONG(cg_norm_song); + } + #endif + break; case MAGIC_TOGGLE_NKRO: keymap_config.nkro = !keymap_config.nkro; break; diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index b5c6783e5e73..bb16da4d5002 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -492,6 +492,15 @@ enum quantum_keycodes { CMB_ON, CMB_OFF, CMB_TOG, + + MAGIC_SWAP_LCTL_LGUI, + MAGIC_SWAP_RCTL_RGUI, + MAGIC_UNSWAP_LCTL_LGUI, + MAGIC_UNSWAP_RCTL_RGUI, + MAGIC_SWAP_CTL_GUI, + MAGIC_UNSWAP_CTL_GUI, + MAGIC_TOGGLE_CTL_GUI, + // always leave at the end SAFE_RANGE }; @@ -639,6 +648,10 @@ enum quantum_keycodes { #define AG_NORM MAGIC_UNSWAP_ALT_GUI #define AG_TOGG MAGIC_TOGGLE_ALT_GUI +#define CG_SWAP MAGIC_SWAP_CTL_GUI +#define CG_NORM MAGIC_UNSWAP_CTL_GUI +#define CG_TOGG MAGIC_TOGGLE_CTL_GUI + // GOTO layer - 16 layers max // when: // ON_PRESS = 1 diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c index d3884d9fa972..949615ecf912 100644 --- a/tmk_core/common/command.c +++ b/tmk_core/common/command.c @@ -286,6 +286,8 @@ static void print_eeconfig(void) print("keymap_config.raw: "); print_hex8(kc.raw); print("\n"); print(".swap_control_capslock: "); print_dec(kc.swap_control_capslock); print("\n"); print(".capslock_to_control: "); print_dec(kc.capslock_to_control); print("\n"); + print(".swap_lctl_lgui: "); print_dec(kc.swap_lctl_lgui); print("\n"); + print(".swap_rctl_rgui: "); print_dec(kc.swap_rctl_rgui); print("\n"); print(".swap_lalt_lgui: "); print_dec(kc.swap_lalt_lgui); print("\n"); print(".swap_ralt_rgui: "); print_dec(kc.swap_ralt_rgui); print("\n"); print(".no_gui: "); print_dec(kc.no_gui); print("\n"); diff --git a/tmk_core/common/eeconfig.c b/tmk_core/common/eeconfig.c index 4f440abc9c20..28f5d3ad5e97 100644 --- a/tmk_core/common/eeconfig.c +++ b/tmk_core/common/eeconfig.c @@ -39,7 +39,8 @@ void eeconfig_init_quantum(void) { eeprom_update_byte(EECONFIG_DEBUG, 0); eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0); default_layer_state = 0; - eeprom_update_byte(EECONFIG_KEYMAP, 0); + eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, 0); + eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0); eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); eeprom_update_byte(EECONFIG_BACKLIGHT, 0); eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default @@ -127,12 +128,17 @@ void eeconfig_update_default_layer(uint8_t val) { eeprom_update_byte(EECONFIG_DE * * FIXME: needs doc */ -uint8_t eeconfig_read_keymap(void) { return eeprom_read_byte(EECONFIG_KEYMAP); } +uint16_t eeconfig_read_keymap(void) { + return ( eeprom_read_byte(EECONFIG_KEYMAP_LOWER_BYTE) | (eeprom_read_byte(EECONFIG_KEYMAP_UPPER_BYTE) << 8) ); +} /** \brief eeconfig update keymap * * FIXME: needs doc */ -void eeconfig_update_keymap(uint8_t val) { eeprom_update_byte(EECONFIG_KEYMAP, val); } +void eeconfig_update_keymap(uint16_t val) { + eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, val & 0xFF); + eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, ( val >> 8 ) & 0xFF ); +} /** \brief eeconfig read backlight * diff --git a/tmk_core/common/eeconfig.h b/tmk_core/common/eeconfig.h index 3100041b4e90..0d5c6a82fc4b 100644 --- a/tmk_core/common/eeconfig.h +++ b/tmk_core/common/eeconfig.h @@ -45,7 +45,8 @@ along with this program. If not, see . #define EECONFIG_HAPTIC (uint32_t *)24 #define EECONFIG_RGB_MATRIX (uint32_t *)28 #define EECONFIG_RGB_MATRIX_SPEED (uint8_t *)32 - +// TODO: Combine these into a single word and single block of EEPROM +#define EECONFIG_KEYMAP_UPPER_BYTE (uint8_t *)33 /* debug bit */ #define EECONFIG_DEBUG_ENABLE (1<<0) #define EECONFIG_DEBUG_MATRIX (1<<1) @@ -62,6 +63,7 @@ along with this program. If not, see . #define EECONFIG_KEYMAP_SWAP_BACKSLASH_BACKSPACE (1<<6) #define EECONFIG_KEYMAP_NKRO (1<<7) +#define EECONFIG_KEYMAP_LOWER_BYTE EECONFIG_KEYMAP bool eeconfig_is_enabled(void); bool eeconfig_is_disabled(void); @@ -81,8 +83,8 @@ void eeconfig_update_debug(uint8_t val); uint8_t eeconfig_read_default_layer(void); void eeconfig_update_default_layer(uint8_t val); -uint8_t eeconfig_read_keymap(void); -void eeconfig_update_keymap(uint8_t val); +uint16_t eeconfig_read_keymap(void); +void eeconfig_update_keymap(uint16_t val); #ifdef BACKLIGHT_ENABLE uint8_t eeconfig_read_backlight(void); From b62e160a8950f451b08f1fee0109e60a58c5ddaa Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 21 Aug 2019 17:07:49 -0700 Subject: [PATCH 014/416] Additional changes for Layer State typedef compatibility (#5906) * Additional changes for Layer State typedef compatibility * Replace biton32 with get_highest_layer in docs * Change additional layer structure code * Fix uGFX reference issue * Remove dynamic_keymap check * Where did all these extra spaces come from Co-Authored-By: fauxpark --- docs/custom_quantum_functions.md | 12 ++++++------ docs/feature_oled_driver.md | 2 +- docs/feature_userspace.md | 4 ++-- docs/ref_functions.md | 4 ++-- quantum/quantum.c | 6 +++--- quantum/quantum.h | 2 +- quantum/visualizer/visualizer.c | 4 ++-- quantum/visualizer/visualizer.h | 7 ++++--- tmk_core/common/action_layer.h | 5 ++++- 9 files changed, 25 insertions(+), 21 deletions(-) diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md index 7be82c650f7d..839d49ca0561 100644 --- a/docs/custom_quantum_functions.md +++ b/docs/custom_quantum_functions.md @@ -297,8 +297,8 @@ This runs code every time that the layers get changed. This can be useful for l This example shows how to set the [RGB Underglow](feature_rgblight.md) lights based on the layer, using the Planck as an example ```c -uint32_t layer_state_set_user(uint32_t state) { - switch (biton32(state)) { +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { case _RAISE: rgblight_setrgb (0x00, 0x00, 0xFF); break; @@ -320,8 +320,8 @@ uint32_t layer_state_set_user(uint32_t state) { ``` ### `layer_state_set_*` Function Documentation -* Keyboard/Revision: `uint32_t layer_state_set_kb(uint32_t state)` -* Keymap: `uint32_t layer_state_set_user(uint32_t state)` +* Keyboard/Revision: `layer_state_t layer_state_set_kb(layer_state_t state)` +* Keymap: `layer_state_t layer_state_set_user(layer_state_t state)` The `state` is the bitmask of the active layers, as explained in the [Keymap Overview](keymap.md#keymap-layer-status) @@ -377,8 +377,8 @@ void keyboard_post_init_user(void) { The above function will use the EEPROM config immediately after reading it, to set the default layer's RGB color. The "raw" value of it is converted in a usable structure based on the "union" that you created above. ```c -uint32_t layer_state_set_user(uint32_t state) { - switch (biton32(state)) { +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { case _RAISE: if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_magenta(); rgblight_mode_noeeprom(1); } break; diff --git a/docs/feature_oled_driver.md b/docs/feature_oled_driver.md index 503e4382885e..9d19beedb2be 100644 --- a/docs/feature_oled_driver.md +++ b/docs/feature_oled_driver.md @@ -31,7 +31,7 @@ This enables the feature and the `OLED_DRIVER_ENABLE` define. Then in your `keym void oled_task_user(void) { // Host Keyboard Layer Status oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _QWERTY: oled_write_P(PSTR("Default\n"), false); break; diff --git a/docs/feature_userspace.md b/docs/feature_userspace.md index 2f119c8bde5d..1cc8ca7425ce 100644 --- a/docs/feature_userspace.md +++ b/docs/feature_userspace.md @@ -115,11 +115,11 @@ For instance, let's look at the `layer_state_set_user()` function. You can enab In your `` file, you'd want to add this: ```c __attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } -uint32_t layer_state_set_user (uint32_t state) { +layer_state_t layer_state_set_user (layer_state_t state) { state = update_tri_layer_state(state, 2, 3, 5); return layer_state_set_keymap (state); } diff --git a/docs/ref_functions.md b/docs/ref_functions.md index 174d9a95a6f4..1ac83cec42f3 100644 --- a/docs/ref_functions.md +++ b/docs/ref_functions.md @@ -50,7 +50,7 @@ The caveat to this method is that you cannot access the `z` layer without having #### Example ```c -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } ``` @@ -58,7 +58,7 @@ uint32_t layer_state_set_user(uint32_t state) { Alternatively, you don't have to immediately "return" the value. This is useful if you want to add multiple tri layers, or if you want to add additional effects. ```c -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); state = update_tri_layer_state(state, _RAISE, _SYMB, _SPECIAL); return state; diff --git a/quantum/quantum.c b/quantum/quantum.c index f489c90310e9..665d6fdd916f 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -931,9 +931,9 @@ void set_single_persistent_default_layer(uint8_t default_layer) { default_layer_set(1U<. #include "keyboard.h" #include "action.h" -#if defined(LAYER_STATE_8BIT) || ( defined(DYNAMIC_KEYMAP_ENABLE) && DYNAMIC_KEYMAP_LAYER_COUNT >= 8 ) +#if defined(LAYER_STATE_8BIT) typedef uint8_t layer_state_t; +#define get_highest_layer(state) biton8(state) #elif defined(LAYER_STATE_16BIT) typedef uint16_t layer_state_t; +#define get_highest_layer(state) biton16(state) #else typedef uint32_t layer_state_t; +#define get_highest_layer(state) biton32(state) #endif From 1c5b0cbbeb049b1ce3fb2da6a81fbf83dd9a3ea7 Mon Sep 17 00:00:00 2001 From: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu, 22 Aug 2019 09:10:47 +0900 Subject: [PATCH 015/416] AVR GPIO macro defines more readable (#5937) * A little easier to read the definition of the GPIO control macro for AVR. No change in build result. * Changed to not use GNU statement expression extension. No change in build result. * Modified split_common/serial.c to use qmk_firmware standard GPIO control macro. No change in build result. * fix PE6 -> E6 * remove some space * add some comment to config_common.h * Changed split_common/serial.c to use a newer version of qmk_firmware standard GPIO control macro. --- quantum/config_common.h | 10 ++++++++++ quantum/quantum.h | 15 +++++++-------- quantum/split_common/serial.c | 31 +++++++++++++------------------ 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/quantum/config_common.h b/quantum/config_common.h index bc4d9ec1af1a..ae72701da1d0 100644 --- a/quantum/config_common.h +++ b/quantum/config_common.h @@ -132,6 +132,16 @@ #define F7 PINDEF(F, 7) #endif + #ifndef __ASSEMBLER__ + #define _PIN_ADDRESS(p, offset) _SFR_IO8(ADDRESS_BASE + (p >> PORT_SHIFTER) + offset) + // Port X Input Pins Address + #define PINx_ADDRESS(p) _PIN_ADDRESS(p, 0) + // Port X Data Direction Register, 0:input 1:output + #define DDRx_ADDRESS(p) _PIN_ADDRESS(p, 1) + // Port X Data Register + #define PORTx_ADDRESS(p) _PIN_ADDRESS(p, 2) + #endif + #elif defined(PROTOCOL_CHIBIOS) // Defines mapping for Proton C replacement #ifdef CONVERT_TO_PROTON_C diff --git a/quantum/quantum.h b/quantum/quantum.h index 2214625670c0..2cb26d4f4610 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -149,18 +149,17 @@ extern layer_state_t default_layer_state; #if defined(__AVR__) typedef uint8_t pin_t; - #define PIN_ADDRESS(p, offset) (_SFR_IO8(ADDRESS_BASE + ((p) >> PORT_SHIFTER) + (offset))) - #define setPinInput(pin) (PIN_ADDRESS(pin, 1) &= ~_BV((pin) & 0xF)) - #define setPinInputHigh(pin) (PIN_ADDRESS(pin, 1) &= ~_BV((pin) & 0xF), \ - PIN_ADDRESS(pin, 2) |= _BV((pin) & 0xF)) + #define setPinInput(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin) & 0xF)) + #define setPinInputHigh(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin) & 0xF), \ + PORTx_ADDRESS(pin) |= _BV((pin) & 0xF)) #define setPinInputLow(pin) _Static_assert(0, "AVR processors cannot implement an input as pull low") - #define setPinOutput(pin) (PIN_ADDRESS(pin, 1) |= _BV((pin) & 0xF)) + #define setPinOutput(pin) (DDRx_ADDRESS(pin) |= _BV((pin) & 0xF)) - #define writePinHigh(pin) (PIN_ADDRESS(pin, 2) |= _BV((pin) & 0xF)) - #define writePinLow(pin) (PIN_ADDRESS(pin, 2) &= ~_BV((pin) & 0xF)) + #define writePinHigh(pin) (PORTx_ADDRESS(pin) |= _BV((pin) & 0xF)) + #define writePinLow(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin) & 0xF)) #define writePin(pin, level) ((level) ? writePinHigh(pin) : writePinLow(pin)) - #define readPin(pin) ((bool)(PIN_ADDRESS(pin, 0) & _BV((pin) & 0xF))) + #define readPin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin) & 0xF))) #elif defined(PROTOCOL_CHIBIOS) typedef ioline_t pin_t; diff --git a/quantum/split_common/serial.c b/quantum/split_common/serial.c index 1315377a3459..322ab8030bd8 100644 --- a/quantum/split_common/serial.c +++ b/quantum/split_common/serial.c @@ -29,36 +29,32 @@ #endif #endif + #define setPinInputHigh(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin) & 0xF), \ + PORTx_ADDRESS(pin) |= _BV((pin) & 0xF)) + #define setPinOutput(pin) (DDRx_ADDRESS(pin) |= _BV((pin) & 0xF)) + #define writePinHigh(pin) (PORTx_ADDRESS(pin) |= _BV((pin) & 0xF)) + #define writePinLow(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin) & 0xF)) + #define readPin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin) & 0xF))) + #if SOFT_SERIAL_PIN >= D0 && SOFT_SERIAL_PIN <= D3 - #define SERIAL_PIN_DDR DDRD - #define SERIAL_PIN_PORT PORTD - #define SERIAL_PIN_INPUT PIND #if SOFT_SERIAL_PIN == D0 - #define SERIAL_PIN_MASK _BV(PD0) #define EIMSK_BIT _BV(INT0) #define EICRx_BIT (~(_BV(ISC00) | _BV(ISC01))) #define SERIAL_PIN_INTERRUPT INT0_vect #elif SOFT_SERIAL_PIN == D1 - #define SERIAL_PIN_MASK _BV(PD1) #define EIMSK_BIT _BV(INT1) #define EICRx_BIT (~(_BV(ISC10) | _BV(ISC11))) #define SERIAL_PIN_INTERRUPT INT1_vect #elif SOFT_SERIAL_PIN == D2 - #define SERIAL_PIN_MASK _BV(PD2) #define EIMSK_BIT _BV(INT2) #define EICRx_BIT (~(_BV(ISC20) | _BV(ISC21))) #define SERIAL_PIN_INTERRUPT INT2_vect #elif SOFT_SERIAL_PIN == D3 - #define SERIAL_PIN_MASK _BV(PD3) #define EIMSK_BIT _BV(INT3) #define EICRx_BIT (~(_BV(ISC30) | _BV(ISC31))) #define SERIAL_PIN_INTERRUPT INT3_vect #endif #elif SOFT_SERIAL_PIN == E6 - #define SERIAL_PIN_DDR DDRE - #define SERIAL_PIN_PORT PORTE - #define SERIAL_PIN_INPUT PINE - #define SERIAL_PIN_MASK _BV(PE6) #define EIMSK_BIT _BV(INT6) #define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61))) #define SERIAL_PIN_INTERRUPT INT6_vect @@ -200,33 +196,32 @@ void serial_delay_half2(void) { inline static void serial_output(void) ALWAYS_INLINE; inline static void serial_output(void) { - SERIAL_PIN_DDR |= SERIAL_PIN_MASK; + setPinOutput(SOFT_SERIAL_PIN); } // make the serial pin an input with pull-up resistor inline static void serial_input_with_pullup(void) ALWAYS_INLINE; inline static void serial_input_with_pullup(void) { - SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK; - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; + setPinInputHigh(SOFT_SERIAL_PIN); } inline static uint8_t serial_read_pin(void) ALWAYS_INLINE; inline static uint8_t serial_read_pin(void) { - return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK); + return !! readPin(SOFT_SERIAL_PIN); } inline static void serial_low(void) ALWAYS_INLINE; inline static void serial_low(void) { - SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK; + writePinLow(SOFT_SERIAL_PIN); } inline static void serial_high(void) ALWAYS_INLINE; inline static void serial_high(void) { - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; + writePinHigh(SOFT_SERIAL_PIN); } void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size) @@ -245,7 +240,7 @@ void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size) // Enable INT0-INT3,INT6 EIMSK |= EIMSK_BIT; -#if SERIAL_PIN_MASK == _BV(PE6) +#if SOFT_SERIAL_PIN == E6 // Trigger on falling edge of INT6 EICRB &= EICRx_BIT; #else From 94efa18c28c8c0e08526c9665a8f0d6a4e7d3e96 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 21 Aug 2019 17:19:07 -0700 Subject: [PATCH 016/416] [Keyboard] Updates to ZSA boards (#6513) * Update Layer functions to use layer_state_t in ZSA Boards * Update Music Mask for ZSA boards Fixes an issue with the board getting stuck on Adjust layer when activating music mode * Add Support for SMART LED Toggle to Planck EZ * Add support for SMART LED toggle in Ergodox EZ * Ifdef swiss cheeze for Oryx Configurator * Documentation and updates * Add Oryx Keymap * Add option to configure the layers for the Layer Indicator * Update keymap with better examples * Make sure eeprom is initialized before reading from it * Force flush of LED matrix when suspending board This fixes an issue where the LEDs don't fully clear sometimes when the host system goes to sleep * Enable RGB Sleeping by default * Add clarification about planck ez led layer config --- keyboards/ergodox_ez/config.h | 4 + keyboards/ergodox_ez/ergodox_ez.c | 74 ++++ keyboards/ergodox_ez/ergodox_ez.h | 19 + keyboards/ergodox_ez/keymaps/default/keymap.c | 6 +- keyboards/planck/ez/config.h | 1 + keyboards/planck/ez/ez.c | 94 ++++- keyboards/planck/ez/ez.h | 5 +- keyboards/planck/ez/readme.md | 41 ++ keyboards/planck/keymaps/default/keymap.c | 2 +- keyboards/planck/keymaps/oryx/config.h | 16 + keyboards/planck/keymaps/oryx/keymap.c | 372 ++++++++++++++++++ keyboards/planck/keymaps/oryx/rules.mk | 6 + 12 files changed, 629 insertions(+), 11 deletions(-) create mode 100644 keyboards/planck/keymaps/oryx/config.h create mode 100644 keyboards/planck/keymaps/oryx/keymap.c create mode 100644 keyboards/planck/keymaps/oryx/rules.mk diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index 45ca06a5d228..c35fe73941f7 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -85,6 +85,8 @@ along with this program. If not, see . #define RGBW 1 +#define RGBLIGHT_SLEEP + /* * The debounce filtering reports a key/switch change directly, * without any extra delay. After that the debounce logic will filter @@ -112,6 +114,8 @@ along with this program. If not, see . #define RGB_MATRIX_LED_PROCESS_LIMIT 5 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 +#define RGB_DISABLE_WHEN_USB_SUSPENDED true + // #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF /* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */ /* #define RGBLIGHT_COLOR_LAYER_2 0xFF, 0x00, 0x00 */ diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c index 947a173e3692..d313f7d5d994 100644 --- a/keyboards/ergodox_ez/ergodox_ez.c +++ b/keyboards/ergodox_ez/ergodox_ez.c @@ -22,6 +22,8 @@ extern inline void ergodox_right_led_set(uint8_t led, uint8_t n); extern inline void ergodox_led_all_set(uint8_t n); +keyboard_config_t keyboard_config; + bool i2c_initialized = 0; i2c_status_t mcp23018_status = 0x20; @@ -43,6 +45,16 @@ void matrix_init_kb(void) { PORTD |= (1<<5 | 1<<4); PORTE |= (1<<6); + keyboard_config.raw = eeconfig_read_kb(); + ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); +#ifdef RGB_MATRIX_ENABLE + if (keyboard_config.rgb_matrix_enable) { + rgb_matrix_set_flags(LED_FLAG_ALL); + } else { + rgb_matrix_set_flags(LED_FLAG_NONE); + } +#endif + ergodox_blink_all_leds(); matrix_init_user(); @@ -305,6 +317,7 @@ led_config_t g_led_config = { { } }; void suspend_power_down_kb(void) { + rgb_matrix_set_color_all(0, 0, 0); rgb_matrix_set_suspend_state(true); suspend_power_down_user(); } @@ -314,4 +327,65 @@ void suspend_power_down_kb(void) { suspend_wakeup_init_user(); } +#ifdef ORYX_CONFIGURATOR +void keyboard_post_init_kb(void) { + rgb_matrix_enable_noeeprom(); + keyboard_post_init_user(); +} #endif +#endif + +#ifdef ORYX_CONFIGURATOR +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LED_LEVEL: + if (record->event.pressed) { + keyboard_config.led_level++; + if (keyboard_config.led_level > 4) { + keyboard_config.led_level = 0; + } + ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); + eeconfig_update_kb(keyboard_config.raw); + layer_state_set_kb(layer_state); + } + break; +#ifdef RGB_MATRIX_ENABLE + case TOGGLE_LAYER_COLOR: + if (record->event.pressed) { + keyboard_config.disable_layer_led ^= 1; + if (keyboard_config.disable_layer_led) + rgb_matrix_set_color_all(0, 0, 0); + eeconfig_update_kb(keyboard_config.raw); + } + break; + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + keyboard_config.rgb_matrix_enable = false; + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + keyboard_config.rgb_matrix_enable = true; + } + break; + } + eeconfig_update_kb(keyboard_config.raw); + } + return false; +#endif + } + return process_record_user(keycode, record); +} +#endif + +void eeconfig_init_kb(void) { // EEPROM is getting reset! + keyboard_config.raw = 0; + keyboard_config.led_level = 4; + keyboard_config.rgb_matrix_enable = true; + eeconfig_update_kb(keyboard_config.raw); + eeconfig_init_user(); +} diff --git a/keyboards/ergodox_ez/ergodox_ez.h b/keyboards/ergodox_ez/ergodox_ez.h index 383702b9578c..7ff62d38a16b 100644 --- a/keyboards/ergodox_ez/ergodox_ez.h +++ b/keyboards/ergodox_ez/ergodox_ez.h @@ -107,6 +107,25 @@ inline void ergodox_led_all_set(uint8_t n) ergodox_right_led_3_set(n); } +#ifdef ORYX_CONFIGURATOR +enum ergodox_ez_keycodes { + LED_LEVEL = SAFE_RANGE, + TOGGLE_LAYER_COLOR, + EZ_SAFE_RANGE, +}; +#endif + +typedef union { + uint32_t raw; + struct { + uint8_t led_level :3; + bool disable_layer_led :1; + bool rgb_matrix_enable :1; + }; +} keyboard_config_t; + +extern keyboard_config_t keyboard_config; + /* * LEFT HAND: LINES 115-122 * RIGHT HAND: LINES 124-131 diff --git a/keyboards/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c index 40d0a1eaf03b..fb3d3896bf4e 100644 --- a/keyboards/ergodox_ez/keymaps/default/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default/keymap.c @@ -6,7 +6,11 @@ #define MDIA 2 // media keys enum custom_keycodes { +#ifdef ORYX_CONFIGURATOR + EPRM = EZ_SAFE_RANGE, +#else EPRM = SAFE_RANGE, +#endif VRSN, RGB_SLD }; @@ -164,7 +168,7 @@ void matrix_init_user(void) { }; // Runs whenever there is a layer state change. -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h index 61d9981c181b..0cb428dd858a 100644 --- a/keyboards/planck/ez/config.h +++ b/keyboards/planck/ez/config.h @@ -139,6 +139,7 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_DISABLE_WHEN_USB_SUSPENDED true #define RGB_MATRIX_LED_PROCESS_LIMIT 5 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c index 8734042a4293..8369ce50c10e 100644 --- a/keyboards/planck/ez/ez.c +++ b/keyboards/planck/ez/ez.c @@ -16,8 +16,8 @@ #include "ez.h" #include "ch.h" #include "hal.h" - keyboard_config_t keyboard_config; +keyboard_config_t keyboard_config; #ifdef RGB_MATRIX_ENABLE const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { @@ -106,6 +106,7 @@ led_config_t g_led_config = { { } }; void suspend_power_down_kb(void) { + rgb_matrix_set_color_all(0, 0, 0); rgb_matrix_set_suspend_state(true); suspend_power_down_user(); } @@ -207,33 +208,65 @@ void led_initialize_hardware(void) { } void keyboard_pre_init_kb(void) { + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } // read kb settings from eeprom keyboard_config.raw = eeconfig_read_kb(); - - // initialize settings for front LEDs +#if defined(RGB_MATRIX_ENABLE) && defined(ORYX_CONFIGURATOR) + if (keyboard_config.rgb_matrix_enable) { + rgb_matrix_set_flags(LED_FLAG_ALL); + } else { + rgb_matrix_set_flags(LED_FLAG_NONE); + } +#endif led_initialize_hardware(); + keyboard_pre_init_user(); +} + +#if defined(RGB_MATRIX_ENABLE) && defined(ORYX_CONFIGURATOR) +void keyboard_post_init_kb(void) { + rgb_matrix_enable_noeeprom(); + keyboard_post_init_user(); } +#endif void eeconfig_init_kb(void) { // EEPROM is getting reset! keyboard_config.raw = 0; + keyboard_config.rgb_matrix_enable = true; keyboard_config.led_level = 4; eeconfig_update_kb(keyboard_config.raw); eeconfig_init_user(); } + +#ifdef ORYX_CONFIGURATOR + +#ifndef PLANCK_EZ_USER_LEDS + +#ifndef PLANCK_EZ_LED_LOWER +# define PLANCK_EZ_LED_LOWER 3 +#endif +#ifndef PLANCK_EZ_LED_RAISE +# define PLANCK_EZ_LED_RAISE 4 +#endif +#ifndef PLANCK_EZ_LED_ADJUST +# define PLANCK_EZ_LED_ADJUST 6 +#endif + layer_state_t layer_state_set_kb(layer_state_t state) { planck_ez_left_led_off(); planck_ez_right_led_off(); state = layer_state_set_user(state); uint8_t layer = biton32(state); switch (layer) { - case 3: + case PLANCK_EZ_LED_LOWER: planck_ez_left_led_on(); break; - case 4: + case PLANCK_EZ_LED_RAISE: planck_ez_right_led_on(); break; - case 6: + case PLANCK_EZ_LED_ADJUST: planck_ez_right_led_on(); planck_ez_left_led_on(); break; @@ -242,7 +275,7 @@ layer_state_t layer_state_set_kb(layer_state_t state) { } return state; } - +#endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { @@ -258,6 +291,51 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { layer_state_set_kb(layer_state); } break; +#ifdef RGB_MATRIX_ENABLE + case TOGGLE_LAYER_COLOR: + if (record->event.pressed) { + keyboard_config.disable_layer_led ^= 1; + if (keyboard_config.disable_layer_led) + rgb_matrix_set_color_all(0, 0, 0); + eeconfig_update_kb(keyboard_config.raw); + } + break; + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + keyboard_config.rgb_matrix_enable = false; + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + keyboard_config.rgb_matrix_enable = true; + } + break; + } + eeconfig_update_kb(keyboard_config.raw); + } + return false; +#endif } - return true; + return process_record_user(keycode, record); } +#endif + +#ifdef AUDIO_ENABLE +bool music_mask_kb(uint16_t keycode) { + switch (keycode) { + case QK_LAYER_TAP ... QK_ONE_SHOT_LAYER_MAX: + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_MOD_MAX: + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + case AU_ON ... MUV_DE: + case RESET: + case EEP_RST: + return false; + default: + return music_mask_user(keycode); + } +} +#endif diff --git a/keyboards/planck/ez/ez.h b/keyboards/planck/ez/ez.h index e2ddaf3cecbe..29bcc1b83c37 100644 --- a/keyboards/planck/ez/ez.h +++ b/keyboards/planck/ez/ez.h @@ -60,13 +60,16 @@ void planck_ez_left_led_level(uint8_t level); enum planck_ez_keycodes { LED_LEVEL = SAFE_RANGE, + TOGGLE_LAYER_COLOR, EZ_SAFE_RANGE, }; typedef union { uint32_t raw; struct { - uint8_t led_level :3; + uint8_t led_level :3; + bool disable_layer_led :1; + bool rgb_matrix_enable :1; }; } keyboard_config_t; diff --git a/keyboards/planck/ez/readme.md b/keyboards/planck/ez/readme.md index 9bd161abdfeb..df8d1b46bb9d 100644 --- a/keyboards/planck/ez/readme.md +++ b/keyboards/planck/ez/readme.md @@ -13,3 +13,44 @@ Make example for this keyboard (after setting up your build environment): make planck/ez:default See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Planck EZ Configuration (from Oryx) + +### Indicator LEDs + +The two front "teeth" LED indicators are PWM controlled. If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, you can use the `LED_LEVEL` to cycle through preset vales (0, 25%, 50%, 75%, 100%), and will be saved to EEPROM (persistent storage) + +Alternatively, you can set the brightness by calling the following functions: + +```c +void planck_ez_right_led_level(uint8_t level); +void planck_ez_left_led_level(uint8_t level); +``` + +These settings are not persistent, so you'd need to reset it every time the board starts. + +These are on a 0-255 scale + +#### Layer indication + +By default, the indicator lights are used for layer indication, expecting the specific layers used in the default keymap. However, this may not work for you. And if that is the case, you can add `#define PLANCK_EZ_USER_LEDS` to your `config.h` file. + +This will remove the default behavior for changing the LEDs based on layer, and allow you to control them manually. + +Alternatively, you can use the following defines in your keymap's `config.h` to control which layers are used, as long as you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h` file, as well. + +```c +#define PLANCK_EZ_LED_LOWER 3 +#define PLANCK_EZ_LED_RAISE 4 +#define PLANCK_EZ_LED_ADJUST 6 +``` + +This will allow you to change the layers that are used, without having to add anything code to your `keymap.c` + +### RGB Matrix Features + +If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`. + +This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off. + +Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already. diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c index 588ee646e180..90197719878b 100644 --- a/keyboards/planck/keymaps/default/keymap.c +++ b/keyboards/planck/keymaps/default/keymap.c @@ -177,7 +177,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); #endif -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } diff --git a/keyboards/planck/keymaps/oryx/config.h b/keyboards/planck/keymaps/oryx/config.h new file mode 100644 index 000000000000..a9171bf538e4 --- /dev/null +++ b/keyboards/planck/keymaps/oryx/config.h @@ -0,0 +1,16 @@ +#pragma once + +#ifdef AUDIO_ENABLE +#define STARTUP_SONG SONG(PLANCK_SOUND) +#endif + +#define MIDI_BASIC + +#define ENCODER_RESOLUTION 4 + +#define ORYX_CONFIGURATOR + +/* + Set any config.h overrides for your specific keymap here. + See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file +*/ diff --git a/keyboards/planck/keymaps/oryx/keymap.c b/keyboards/planck/keymaps/oryx/keymap.c new file mode 100644 index 000000000000..7892d1a5fb38 --- /dev/null +++ b/keyboards/planck/keymaps/oryx/keymap.c @@ -0,0 +1,372 @@ +#include QMK_KEYBOARD_H +#include "muse.h" +#include "eeprom.h" +#include "keymap_german.h" +#include "keymap_nordic.h" +#include "keymap_french.h" +#include "keymap_spanish.h" +#include "keymap_hungarian.h" +#include "keymap_swedish.h" +//#include "keymap_br_abnt2.h" +#include "keymap_canadian_multilingual.h" +#include "keymap_german_ch.h" + +#define KC_MAC_UNDO LGUI(KC_Z) +#define KC_MAC_CUT LGUI(KC_X) +#define KC_MAC_COPY LGUI(KC_C) +#define KC_MAC_PASTE LGUI(KC_V) +#define KC_PC_UNDO LCTL(KC_Z) +#define KC_PC_CUT LCTL(KC_X) +#define KC_PC_COPY LCTL(KC_C) +#define KC_PC_PASTE LCTL(KC_V) +#define NO_TH ALGR(KC_T) +#define NO_ETH ALGR(KC_D) + +enum planck_layers { + _QWERTY, + _COLEMAK, + _DVORAK, + _LOWER, + _RAISE, + _PLOVER, + _ADJUST +}; + +enum planck_keycodes { + QWERTY = EZ_SAFE_RANGE, + COLEMAK, + DVORAK, + PLOVER, + BACKLIT, + EXT_PLV, + RGB_SLD +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + + +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] = LAYOUT_planck_grid( + 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] = LAYOUT_planck_grid( + 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 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = LAYOUT_planck_grid( + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, + KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , + BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_planck_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, 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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_planck_grid( + 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_DEL, 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_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* 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] = LAYOUT_planck_grid( + 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) + * v------------------------RGB CONTROL--------------------v + * ,----------------------------------------------------------------------------------- + * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_planck_grid( + _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, TOGGLE_LAYER_COLOR, LED_LEVEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; + + +#ifdef AUDIO_ENABLE + float plover_song[][2] = SONG(PLOVER_SOUND); + float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); +#endif + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { + [0] = { {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255}, {130,255,255} }, + + [1] = { {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {146,224,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {42,255,255}, {32,255,234}, {32,255,234}, {32,255,234}, {32,255,234} }, + + [2] = { {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {169,120,255}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246}, {89,255,246} }, + + [3] = { {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {249,228,255}, {249,228,255}, {249,228,255}, {216,255,255}, {216,255,255}, {105,255,255}, {105,255,255}, {105,255,255}, {216,255,255}, {14,255,255}, {216,255,255}, {216,255,255}, {249,228,255}, {249,228,255}, {249,228,255}, {216,255,255}, {216,255,255}, {105,255,255}, {105,255,255}, {105,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255}, {216,255,255} }, + +}; + +void set_layer_color(int layer) { + for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + HSV hsv = { + .h = pgm_read_byte(&ledmap[layer][i][0]), + .s = pgm_read_byte(&ledmap[layer][i][1]), + .v = pgm_read_byte(&ledmap[layer][i][2]), + }; + if (!hsv.h && !hsv.s && !hsv.v) { + rgb_matrix_set_color( i, 0, 0, 0 ); + } else { + RGB rgb = hsv_to_rgb( hsv ); + float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX; + rgb_matrix_set_color( i, f * rgb.r, f * rgb.g, f * rgb.b ); + } + } +} + +void rgb_matrix_indicators_user(void) { + if (g_suspend_state || keyboard_config.disable_layer_led) { return; } + switch (biton32(layer_state)) { + case 0: + set_layer_color(0); + break; + case 3: + set_layer_color(1); + break; + case 4: + set_layer_color(2); + break; + case 6: + set_layer_color(3); + break; + default: + if (rgb_matrix_get_flags() == LED_FLAG_NONE) + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_SLD: + if (record->event.pressed) { + rgblight_mode(1); + } + return false; + case QWERTY: + if (record->event.pressed) { + print("mode just switched to qwerty and this is a huge string\n"); + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_DVORAK); + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + #ifdef KEYBOARD_planck_rev5 + PORTE &= ~(1<<6); + #endif + } else { + unregister_code(KC_RSFT); + #ifdef KEYBOARD_planck_rev5 + PORTE |= (1<<6); + #endif + } + return false; + break; + case PLOVER: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_SONG(plover_song); + #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_SONG(plover_gb_song); + #endif + layer_off(_PLOVER); + } + return false; + break; + } + return true; +} + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +void encoder_update(bool clockwise) { + if (muse_mode) { + if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + muse_offset++; + } else { + muse_offset--; + } + } else { + if (clockwise) { + muse_tempo+=1; + } else { + muse_tempo-=1; + } + } + } else { + if (clockwise) { + #ifdef MOUSEKEY_ENABLE + register_code(KC_MS_WH_DOWN); + unregister_code(KC_MS_WH_DOWN); + #else + register_code(KC_PGDN); + unregister_code(KC_PGDN); + #endif + } else { + #ifdef MOUSEKEY_ENABLE + register_code(KC_MS_WH_UP); + unregister_code(KC_MS_WH_UP); + #else + register_code(KC_PGUP); + unregister_code(KC_PGUP); + #endif + } + } +} + +void matrix_scan_user(void) { +#ifdef AUDIO_ENABLE + if (muse_mode) { + if (muse_counter == 0) { + uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; + if (muse_note != last_muse_note) { + stop_note(compute_freq_for_midi_note(last_muse_note)); + play_note(compute_freq_for_midi_note(muse_note), 0xF); + last_muse_note = muse_note; + } + } + muse_counter = (muse_counter + 1) % muse_tempo; + } +#endif +} diff --git a/keyboards/planck/keymaps/oryx/rules.mk b/keyboards/planck/keymaps/oryx/rules.mk new file mode 100644 index 000000000000..fb44d6b95eae --- /dev/null +++ b/keyboards/planck/keymaps/oryx/rules.mk @@ -0,0 +1,6 @@ +SRC += muse.c +# Set any rules.mk overrides for your specific keymap here. +# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file +LINK_TIME_OPTIMIZATION_ENABLE = yes +COMMAND_ENABLE = no +MOUSEKEY_ENABLE = no From 63b96c34ce254f552cdb098060a9e7d7705263b2 Mon Sep 17 00:00:00 2001 From: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Thu, 22 Aug 2019 09:40:37 +0900 Subject: [PATCH 017/416] [Keyboard] new keyboard "angel17" (#6542) * add angel17 keyboard * fix rules.mk * change BOOTLOADER * set LAYOUT_numpad_5x4 * Update keyboards/angel17/rules.mk Co-Authored-By: Drashna Jaelre * fix LAYOUTS = numpad_5x4 * update info.json --- keyboards/angel17/angel17.c | 51 ++++ keyboards/angel17/angel17.h | 40 ++++ keyboards/angel17/config.h | 249 ++++++++++++++++++++ keyboards/angel17/info.json | 34 +++ keyboards/angel17/keymaps/default/config.h | 19 ++ keyboards/angel17/keymaps/default/keymap.c | 42 ++++ keyboards/angel17/keymaps/default/readme.md | 1 + keyboards/angel17/readme.md | 15 ++ keyboards/angel17/rules.mk | 46 ++++ 9 files changed, 497 insertions(+) create mode 100644 keyboards/angel17/angel17.c create mode 100644 keyboards/angel17/angel17.h create mode 100644 keyboards/angel17/config.h create mode 100644 keyboards/angel17/info.json create mode 100644 keyboards/angel17/keymaps/default/config.h create mode 100644 keyboards/angel17/keymaps/default/keymap.c create mode 100644 keyboards/angel17/keymaps/default/readme.md create mode 100644 keyboards/angel17/readme.md create mode 100644 keyboards/angel17/rules.mk diff --git a/keyboards/angel17/angel17.c b/keyboards/angel17/angel17.c new file mode 100644 index 000000000000..80635a30e14f --- /dev/null +++ b/keyboards/angel17/angel17.c @@ -0,0 +1,51 @@ +/* Copyright 2019 kakunpc + * + * 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 "angel17.h" + +// Optional override functions below. +// You can leave any or all of these undefined. +// These are only required if you want to perform custom actions. + +/* + +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/angel17/angel17.h b/keyboards/angel17/angel17.h new file mode 100644 index 000000000000..5b8600a2063e --- /dev/null +++ b/keyboards/angel17/angel17.h @@ -0,0 +1,40 @@ +/* Copyright 2019 kakunpc + * + * 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 . + */ +#pragma once + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_numpad_5x4( \ + k00, k01, k02, k03, \ + k10, k11, k12, \ + k20, k21, k22, k13, \ + k30, k31, k32, \ + k40, k41, k33 \ +) \ +{ \ + { k00, k10, k20, k31, k41 }, \ + { k02, k12, k22, k33, KC_NO }, \ + { k01, k11, k21, k32, KC_NO }, \ + { k03, k13, k30, k40, KC_NO }, \ +} diff --git a/keyboards/angel17/config.h b/keyboards/angel17/config.h new file mode 100644 index 000000000000..2bb74acc8979 --- /dev/null +++ b/keyboards/angel17/config.h @@ -0,0 +1,249 @@ +/* +Copyright 2019 kakunpc + +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 . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER kakunpc +#define PRODUCT angel17 +#define DESCRIPTION A custom keyboard + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 5 + +/* + * 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 { D4, C6, D7, E6 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + +// #define RGB_DI_PIN E2 +// #ifdef RGB_DI_PIN +// #define RGBLED_NUM 16 +// #define RGBLIGHT_HUE_STEP 8 +// #define RGBLIGHT_SAT_STEP 8 +// #define RGBLIGHT_VAL_STEP 8 +// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// /*== customize breathing effect ==*/ +// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +// /*==== use exp() and sin() ====*/ +// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +// #endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* 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 + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * 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 */ +/* defined by default; to change, uncomment and set to the combination you want */ +// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) + +/* 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_HELP H +//#define MAGIC_KEY_HELP_ALT 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 0 +//#define MAGIC_KEY_LAYER0_ALT GRAVE +//#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 B +//#define MAGIC_KEY_BOOTLOADER_ALT ESC +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_EEPROM_CLEAR BSPACE +//#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 + +/* + * MIDI options + */ + +/* Prevent use of disabled MIDI features in the keymap */ +//#define MIDI_ENABLE_STRICT 1 + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ +//#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED + +/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ +//#define MIDI_TONE_KEYCODE_OCTAVES 1 + +/* + * HD44780 LCD Display Configuration + */ +/* +#define LCD_LINES 2 //< number of visible lines of the display +#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display + +#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode + +#if LCD_IO_MODE +#define LCD_PORT PORTB //< port for the LCD lines +#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0 +#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1 +#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2 +#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3 +#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0 +#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1 +#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2 +#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3 +#define LCD_RS_PORT LCD_PORT //< port for RS line +#define LCD_RS_PIN 3 //< pin for RS line +#define LCD_RW_PORT LCD_PORT //< port for RW line +#define LCD_RW_PIN 2 //< pin for RW line +#define LCD_E_PORT LCD_PORT //< port for Enable line +#define LCD_E_PIN 1 //< pin for Enable line +#endif +*/ + +/* Bootmagic Lite key configuration */ +// #define BOOTMAGIC_LITE_ROW 0 +// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/angel17/info.json b/keyboards/angel17/info.json new file mode 100644 index 000000000000..823235348abb --- /dev/null +++ b/keyboards/angel17/info.json @@ -0,0 +1,34 @@ +{ + "keyboard_name": "angel17", + "url": "https://kakunpc.booth.pm/", + "maintainer": "kakunpc", + "width": 4, + "height": 5, + "layouts": { + "LAYOUT_numpad_5x4": { + "layout": [ + {"label":"Num Lock", "x":0, "y":0}, + {"label":"/", "x":1, "y":0}, + {"label":"*", "x":2, "y":0}, + {"label":"-", "x":3, "y":0}, + + {"label":"7", "x":0, "y":1}, + {"label":"8", "x":1, "y":1}, + {"label":"9", "x":2, "y":1}, + + {"label":"4", "x":0, "y":2}, + {"label":"5", "x":1, "y":2}, + {"label":"6", "x":2, "y":2}, + {"label":"+", "x":3, "y":1, "h":2}, + + {"label":"1", "x":0, "y":3}, + {"label":"2", "x":1, "y":3}, + {"label":"3", "x":2, "y":3}, + + {"label":"0", "x":0, "y":4, "w":2}, + {"label":".", "x":2, "y":4}, + {"label":"Enter", "x":3, "y":3, "h":2} + ] + } + } +} diff --git a/keyboards/angel17/keymaps/default/config.h b/keyboards/angel17/keymaps/default/config.h new file mode 100644 index 000000000000..bf1149ebc632 --- /dev/null +++ b/keyboards/angel17/keymaps/default/config.h @@ -0,0 +1,19 @@ +/* Copyright 2019 kakunpc + * + * 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 . + */ + +#pragma once + +// place overrides here diff --git a/keyboards/angel17/keymaps/default/keymap.c b/keyboards/angel17/keymaps/default/keymap.c new file mode 100644 index 000000000000..509bcf5e2545 --- /dev/null +++ b/keyboards/angel17/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2019 kakunpc + * + * 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 QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_numpad_5x4( /* Base */ + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +void led_set_user(uint8_t usb_led) { + +} diff --git a/keyboards/angel17/keymaps/default/readme.md b/keyboards/angel17/keymaps/default/readme.md new file mode 100644 index 000000000000..a509fef7a359 --- /dev/null +++ b/keyboards/angel17/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for angel17 \ No newline at end of file diff --git a/keyboards/angel17/readme.md b/keyboards/angel17/readme.md new file mode 100644 index 000000000000..8c9b80668558 --- /dev/null +++ b/keyboards/angel17/readme.md @@ -0,0 +1,15 @@ +# angel17 + +![angel17](https://i.gyazo.com/30787446262c5818bc60e0ffb34c96ed.jpg) + +Keyboard for tablets. + +Keyboard Maintainer: [kakunpc](https://github.com/kakunpc) +Hardware Supported: angel17_alpha, promicro +Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/)) + +Make example for this keyboard (after setting up your build environment): + + make angel17:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/angel17/rules.mk b/keyboards/angel17/rules.mk new file mode 100644 index 000000000000..423ebddc5147 --- /dev/null +++ b/keyboards/angel17/rules.mk @@ -0,0 +1,46 @@ +# MCU name +MCU = atmega32u4 + + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# atmega32a bootloadHID +BOOTLOADER = caterina + + +# If you don't know the bootloader type, then you can specify the +# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line +# 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 +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE = no # Audio output on port C6 +FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches +HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) + +LAYOUTS = numpad_5x4 From fcf87370a835942681592891dcab6b3a0809bb1f Mon Sep 17 00:00:00 2001 From: fauxpark Date: Thu, 22 Aug 2019 10:41:29 +1000 Subject: [PATCH 018/416] [Keyboard] Update NovelPad (#6559) * Update NovelPad * Lowercase readme * Update keyboards/novelpad/keymaps/default/keymap.c Co-Authored-By: Joel Challis * Remove default F_CPU, F_USB, ARCH, and OPT_DEFS - covered in mcu_selection.mk --- keyboards/novelpad/config.h | 218 ++++++++++++++++++-- keyboards/novelpad/info.json | 27 ++- keyboards/novelpad/keymaps/default/keymap.c | 139 ++++--------- keyboards/novelpad/novelpad.c | 1 + keyboards/novelpad/novelpad.h | 26 ++- keyboards/novelpad/{README.md => readme.md} | 2 +- keyboards/novelpad/rules.mk | 45 +--- 7 files changed, 293 insertions(+), 165 deletions(-) rename keyboards/novelpad/{README.md => readme.md} (68%) diff --git a/keyboards/novelpad/config.h b/keyboards/novelpad/config.h index c9b6b91a595f..a2d24d7f8200 100755 --- a/keyboards/novelpad/config.h +++ b/keyboards/novelpad/config.h @@ -14,8 +14,8 @@ 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 + +#pragma once #include "config_common.h" @@ -31,35 +31,219 @@ along with this program. If not, see . #define MATRIX_ROWS 5 #define MATRIX_COLS 4 -/* key matrix pins */ +/* + * 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 { C2, C4, C5, C6, C7 } #define MATRIX_COL_PINS { D7, D6, D5, D4 } #define UNUSED_PINS -/* COL2ROW or ROW2COL */ +/* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -/* Set 0 if debouncing isn't needed */ +#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 10 + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 4 +// #define RGBLIGHT_HUE_STEP 8 +// #define RGBLIGHT_SAT_STEP 8 +// #define RGBLIGHT_VAL_STEP 8 +// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// /*== customize breathing effect ==*/ +// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +// /*==== use exp() and sin() ====*/ +// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + /* 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() ( \ - false \ -) +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE -#define BACKLIGHT_LEVELS 10 -#define BACKLIGHT_PIN B7 +/* + * 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 -#ifdef RGBLIGHT_ENABLE -#define RGB_DI_PIN D3 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 4 -#endif +/* + * 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 */ +/* defined by default; to change, uncomment and set to the combination you want */ +// #define IS_COMMAND() (get_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_HELP H +//#define MAGIC_KEY_HELP_ALT 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 0 +//#define MAGIC_KEY_LAYER0_ALT GRAVE +//#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 B +//#define MAGIC_KEY_BOOTLOADER_ALT ESC +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_EEPROM_CLEAR BSPACE +//#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 + +/* + * MIDI options + */ + +/* Prevent use of disabled MIDI features in the keymap */ +//#define MIDI_ENABLE_STRICT 1 + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ +//#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED + +/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ +//#define MIDI_TONE_KEYCODE_OCTAVES 1 + +/* + * HD44780 LCD Display Configuration + */ +/* +#define LCD_LINES 2 //< number of visible lines of the display +#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display + +#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode + +#if LCD_IO_MODE +#define LCD_PORT PORTB //< port for the LCD lines +#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0 +#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1 +#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2 +#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3 +#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0 +#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1 +#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2 +#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3 +#define LCD_RS_PORT LCD_PORT //< port for RS line +#define LCD_RS_PIN 3 //< pin for RS line +#define LCD_RW_PORT LCD_PORT //< port for RW line +#define LCD_RW_PIN 2 //< pin for RW line +#define LCD_E_PORT LCD_PORT //< port for Enable line +#define LCD_E_PIN 1 //< pin for Enable line #endif +*/ + +/* Bootmagic Lite key configuration */ +// #define BOOTMAGIC_LITE_ROW 0 +// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/novelpad/info.json b/keyboards/novelpad/info.json index 7523bf5dda3b..4bd648754b39 100644 --- a/keyboards/novelpad/info.json +++ b/keyboards/novelpad/info.json @@ -6,7 +6,32 @@ "height": 5, "layouts": { "LAYOUT_ortho_5x4": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}] + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4} + ] } } } diff --git a/keyboards/novelpad/keymaps/default/keymap.c b/keyboards/novelpad/keymaps/default/keymap.c index 76e0937e6d2e..cbac67eaaac2 100755 --- a/keyboards/novelpad/keymaps/default/keymap.c +++ b/keyboards/novelpad/keymaps/default/keymap.c @@ -14,111 +14,60 @@ 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 QMK_KEYBOARD_H enum custom_keycodes { - BL = SAFE_RANGE, - WK_RED, - WK_GREEN, - WK_BLUE + WK_RED = SAFE_RANGE, + WK_GREEN, + WK_BLUE }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_NLCK, KC_PSLS, KC_PAST, KC_ESC, - KC_P7, KC_P8, KC_P9, KC_PMNS, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_TAB, - MO(1), KC_P0, KC_PDOT, KC_ENT - ), - - [1] = LAYOUT( - _______, BL, RGB_MODE_SWIRL, RESET, - RGB_TOG, RGB_MOD, RGB_MODE_PLAIN, RGB_MODE_SNAKE, - RGB_HUI, RGB_SAI, RGB_VAI, RGB_MODE_KNIGHT, - RGB_HUD, RGB_SAD, RGB_VAD, RGB_MODE_XMAS, - _______, WK_RED, WK_GREEN, WK_BLUE - ), - + [0] = LAYOUT( + KC_NLCK, KC_PSLS, KC_PAST, KC_ESC, + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_TAB, + MO(1), KC_P0, KC_PDOT, KC_ENT + ), + + [1] = LAYOUT( + _______, BL_STEP, RGB_M_SW, RESET, + RGB_TOG, RGB_MOD, RGB_M_P, RGB_M_SN, + RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_K, + RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_X, + _______, WK_RED, WK_GREEN, WK_BLUE + ) }; -void matrix_init_user(void) { - - rgblight_setrgb(0,255,0); -} - -void matrix_scan_user(void) { +void keyboard_post_init_user(void) { + rgblight_setrgb(0, 255, 0); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case BL: - if (record->event.pressed) { -#ifdef BACKLIGHT_ENABLE - backlight_step(); -#endif + switch (keycode) { + case WK_RED: + if (record->event.pressed) { + rgblight_show_solid_color(0xFF, 0x00, 0x00); + } else { + rgblight_show_solid_color(0xFF, 0xFF, 0xFF); + } + return false; + case WK_GREEN: + if (record->event.pressed) { + rgblight_show_solid_color(0x00, 0xFF, 0x00); + } else { + rgblight_show_solid_color(0xFF, 0xFF, 0xFF); + } + return false; + case WK_BLUE: + if (record->event.pressed) { + rgblight_show_solid_color(0x00, 0x00, 0xFF); + } else { + rgblight_show_solid_color(0xFF, 0xFF, 0xFF); + } + return false; } - return false; - break; - case WK_RED: - if (record->event.pressed) { - rgblight_show_solid_color(0xFF, 0, 0); - } else { - rgblight_show_solid_color(0xFF, 0xFF, 0xFF); - } - return false; - break; - case WK_GREEN: - if (record->event.pressed) { - rgblight_show_solid_color(0, 0xFF, 0); - } else { - rgblight_show_solid_color(0xFF, 0xFF, 0xFF); - } - return false; - break; - case WK_BLUE: - if (record->event.pressed) { - rgblight_show_solid_color(0, 0, 0xFF); - } else { - rgblight_show_solid_color(0xFF, 0xFF, 0xFF); - } - return false; - break; - } - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - + return true; } diff --git a/keyboards/novelpad/novelpad.c b/keyboards/novelpad/novelpad.c index 719cb89d6a53..9f6ee7dae47e 100755 --- a/keyboards/novelpad/novelpad.c +++ b/keyboards/novelpad/novelpad.c @@ -14,4 +14,5 @@ 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 "novelpad.h" diff --git a/keyboards/novelpad/novelpad.h b/keyboards/novelpad/novelpad.h index f5a0b95f59c1..6650a6722328 100755 --- a/keyboards/novelpad/novelpad.h +++ b/keyboards/novelpad/novelpad.h @@ -14,25 +14,23 @@ 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 KB_H -#define KB_H + +#pragma once #include "quantum.h" #define LAYOUT_ortho_5x4( \ - K00, K01, K02, K03, \ - K10, K11, K12, K13, \ - K20, K21, K22, K23, \ - K30, K31, K32, K33, \ - K40, K41, K42, K43 \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33, \ + K40, K41, K42, K43 \ ) { \ - { K00, K01, K02, K03 }, \ - { K10, K11, K12, K13 }, \ - { K20, K21, K22, K23 }, \ - { K30, K31, K32, K33 }, \ - { K40, K41, K42, K43 } \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 }, \ + { K40, K41, K42, K43 } \ } #define LAYOUT LAYOUT_ortho_5x4 - -#endif diff --git a/keyboards/novelpad/README.md b/keyboards/novelpad/readme.md similarity index 68% rename from keyboards/novelpad/README.md rename to keyboards/novelpad/readme.md index 5c73644a289e..0cde8337ca0f 100644 --- a/keyboards/novelpad/README.md +++ b/keyboards/novelpad/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make novelpad:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/novelpad/rules.mk b/keyboards/novelpad/rules.mk index 8d35c6c05cc9..e77a0d6515a1 100755 --- a/keyboards/novelpad/rules.mk +++ b/keyboards/novelpad/rules.mk @@ -1,44 +1,15 @@ # MCU name MCU = atmega32u2 -# 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* -OPT_DEFS += -DBOOTLOADER_SIZE=4096 +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# atmega32a bootloadHID +BOOTLOADER = atmel-dfu # Build Options From 129e4d1b2f481c09c4f67d24656e6af9cf92b1b6 Mon Sep 17 00:00:00 2001 From: madivad Date: Thu, 22 Aug 2019 10:44:37 +1000 Subject: [PATCH 019/416] [Docs] Update how_keyboards_work.md (#6528) * Update how_keyboards_work.md bridged the gap between scancodes and keycodes, the doc didn't make the distinction and was ambiguous. * Update docs/how_keyboards_work.md Co-Authored-By: Drashna Jaelre * Update docs/how_keyboards_work.md fix typo Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> --- docs/how_keyboards_work.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/how_keyboards_work.md b/docs/how_keyboards_work.md index 5697a21872c0..bbd22a2788c8 100644 --- a/docs/how_keyboards_work.md +++ b/docs/how_keyboards_work.md @@ -33,7 +33,11 @@ The firmware does not send actual letters or characters, but only scancodes. Thus, by modifying the firmware, you can only modify what scancode is sent over USB for a given key. -## 3. What the Operating System Does +## 3. What the Event Input/Kernel Does + +The *scancode* is mapped to a *keycode* dependent on the keyboard [60-keyboard.hwdb at Master](https://github.com/systemd/systemd/blob/master/hwdb/60-keyboard.hwdb). Without this mapping, the operating system will not receive a valid keycode and will be unable to do anything useful with that key press. + +## 4. What the Operating System Does Once the keycode reaches the operating system, a piece of software has to have it match an actual character thanks to a keyboard layout. For example, if your From 8a2e328a33efd9479d5176ed959ade725b62d9b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Dos=C3=A9?= Date: Wed, 21 Aug 2019 17:47:45 -0700 Subject: [PATCH 020/416] [Keyboard] Fix RGB_TOG cycle for Massdrop CTRL default keymap (#6056) This includes the modifier keys in "keys only" mode, bringing the keymap closer to what the off-the-shelf firmware does. --- keyboards/massdrop/ctrl/keymaps/mac/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/massdrop/ctrl/keymaps/mac/keymap.c b/keyboards/massdrop/ctrl/keymaps/mac/keymap.c index 79fe7388af6e..e5b194a3436d 100644 --- a/keyboards/massdrop/ctrl/keymaps/mac/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/mac/keymap.c @@ -102,11 +102,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT); + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); rgb_matrix_set_color_all(0, 0, 0); } break; - case LED_FLAG_KEYLIGHT: { + case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); rgb_matrix_set_color_all(0, 0, 0); } From b5ee6c200c96df0b0e4557defdf3a61f70f5d260 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 22 Aug 2019 00:22:32 -0700 Subject: [PATCH 021/416] Fixup Bootmagic code (#6386) --- quantum/keycode_config.c | 11 +++++++++++ quantum/quantum.c | 16 ++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/quantum/keycode_config.c b/quantum/keycode_config.c index 73fe15861d08..bfd40d045c05 100644 --- a/quantum/keycode_config.c +++ b/quantum/keycode_config.c @@ -18,6 +18,11 @@ extern keymap_config_t keymap_config; +/** \brief keycode_config + * + * This function is used to check a specific keycode against the bootmagic config, + * and will return the corrected keycode, when appropriate. + */ uint16_t keycode_config(uint16_t keycode) { switch (keycode) { @@ -109,6 +114,12 @@ uint16_t keycode_config(uint16_t keycode) { } } +/** \brief mod_config + * + * This function checks the mods passed to it against the bootmagic config, + * and will remove or replace mods, based on that. + */ + uint8_t mod_config(uint8_t mod) { if (keymap_config.swap_lalt_lgui) { if ((mod & MOD_RGUI) == MOD_LGUI) { diff --git a/quantum/quantum.c b/quantum/quantum.c index 665d6fdd916f..cbd1f9df0c84 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -613,15 +613,13 @@ bool process_record_quantum(keyrecord_t *record) { keymap_config.nkro = true; break; case MAGIC_SWAP_ALT_GUI: - keymap_config.swap_lalt_lgui = true; - keymap_config.swap_ralt_rgui = true; + keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = true; #ifdef AUDIO_ENABLE PLAY_SONG(ag_swap_song); #endif break; case MAGIC_SWAP_CTL_GUI: - keymap_config.swap_lctl_lgui = true; - keymap_config.swap_rctl_rgui = true; + keymap_config.swap_lctl_lgui = keymap_config.swap_rctl_rgui = true; #ifdef AUDIO_ENABLE PLAY_SONG(cg_swap_song); #endif @@ -657,22 +655,20 @@ bool process_record_quantum(keyrecord_t *record) { keymap_config.nkro = false; break; case MAGIC_UNSWAP_ALT_GUI: - keymap_config.swap_lalt_lgui = false; - keymap_config.swap_ralt_rgui = false; + keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = false; #ifdef AUDIO_ENABLE PLAY_SONG(ag_norm_song); #endif break; case MAGIC_UNSWAP_CTL_GUI: - keymap_config.swap_lctl_lgui = false; - keymap_config.swap_rctl_rgui = false; + keymap_config.swap_lctl_lgui = keymap_config.swap_rctl_rgui = false; #ifdef AUDIO_ENABLE PLAY_SONG(cg_norm_song); #endif break; case MAGIC_TOGGLE_ALT_GUI: keymap_config.swap_lalt_lgui = !keymap_config.swap_lalt_lgui; - keymap_config.swap_ralt_rgui = !keymap_config.swap_ralt_rgui; + keymap_config.swap_ralt_rgui = keymap_config.swap_lalt_lgui; #ifdef AUDIO_ENABLE if (keymap_config.swap_ralt_rgui) { PLAY_SONG(ag_swap_song); @@ -683,7 +679,7 @@ bool process_record_quantum(keyrecord_t *record) { break; case MAGIC_TOGGLE_CTL_GUI: keymap_config.swap_lctl_lgui = !keymap_config.swap_lctl_lgui; - keymap_config.swap_rctl_rgui = !keymap_config.swap_rctl_rgui; + keymap_config.swap_rctl_rgui = keymap_config.swap_lctl_lgui; #ifdef AUDIO_ENABLE if (keymap_config.swap_rctl_rgui) { PLAY_SONG(cg_swap_song); From a20e6aa0224ff243e6dc80259c9de868c4acc9ce Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 22 Aug 2019 01:59:37 -0700 Subject: [PATCH 022/416] Reduce compile size to fix various Travis CI errors (#6426) Due to feature creep --- keyboards/clueboard/card/rules.mk | 2 ++ keyboards/preonic/rev1/rules.mk | 8 +++++--- keyboards/preonic/rev2/rules.mk | 14 ++++++++------ keyboards/xd004/v1/rules.mk | 2 +- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/keyboards/clueboard/card/rules.mk b/keyboards/clueboard/card/rules.mk index 37b439e75a7a..46d6f91130dc 100644 --- a/keyboards/clueboard/card/rules.mk +++ b/keyboards/clueboard/card/rules.mk @@ -19,3 +19,5 @@ MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = yes # Audio output on port C6 + +LINK_TIME_OPTIMIZATION_ENABLE = yes diff --git a/keyboards/preonic/rev1/rules.mk b/keyboards/preonic/rev1/rules.mk index 128deb0c8518..db3d644545f0 100644 --- a/keyboards/preonic/rev1/rules.mk +++ b/keyboards/preonic/rev1/rules.mk @@ -35,7 +35,7 @@ F_USB = $(F_CPU) # Bootloader # This definition is optional, and if your keyboard supports multiple bootloaders of -# different sizes, comment this out, and the correct address will be loaded +# different sizes, comment this out, and the correct address will be loaded # automatically (+60). See bootloader.mk for all options. BOOTLOADER = atmel-dfu @@ -43,13 +43,13 @@ BOOTLOADER = atmel-dfu OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT # Build Options -# change to "no" to disable the options, or define them in the Makefile in +# 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 = lite # 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) +CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # 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 = yes # Enable keyboard backlight functionality @@ -64,3 +64,5 @@ API_SYSEX_ENABLE = no SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend LAYOUTS = ortho_5x12 + +LINK_TIME_OPTIMIZATION_ENABLE = yes diff --git a/keyboards/preonic/rev2/rules.mk b/keyboards/preonic/rev2/rules.mk index 53411647ddaf..47a292e3361a 100644 --- a/keyboards/preonic/rev2/rules.mk +++ b/keyboards/preonic/rev2/rules.mk @@ -35,7 +35,7 @@ F_USB = $(F_CPU) # Bootloader # This definition is optional, and if your keyboard supports multiple bootloaders of -# different sizes, comment this out, and the correct address will be loaded +# different sizes, comment this out, and the correct address will be loaded # automatically (+60). See bootloader.mk for all options. BOOTLOADER = qmk-dfu @@ -43,18 +43,18 @@ BOOTLOADER = qmk-dfu OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT # Build Options -# change to "no" to disable the options, or define them in the Makefile in +# 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 = lite # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = no # Mouse keys(+4700) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = no # 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 = yes # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = yes # Audio output on port C6 +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. @@ -64,3 +64,5 @@ API_SYSEX_ENABLE = no SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend LAYOUTS = ortho_5x12 + +LINK_TIME_OPTIMIZATION_ENABLE = yes diff --git a/keyboards/xd004/v1/rules.mk b/keyboards/xd004/v1/rules.mk index ad2d732d4389..c55d65c0f583 100644 --- a/keyboards/xd004/v1/rules.mk +++ b/keyboards/xd004/v1/rules.mk @@ -63,7 +63,7 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - +SPACE_CADET_ENABLE = no # Saves about 5% of space: LINK_TIME_OPTIMIZATION_ENABLE = yes From 1c805b3d008a98a5a15112b0655ba14b42dbae67 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 22 Aug 2019 15:27:18 +0100 Subject: [PATCH 023/416] Relocate pca9555 driver to core (#6563) * Move pca9555 files to central location * Get pca9555 boards compiling * Slight alignment of rules.mk --- {keyboards/moon => drivers/gpio}/pca9555.c | 0 {keyboards/moon => drivers/gpio}/pca9555.h | 0 keyboards/moon/rules.mk | 16 +++-- keyboards/xd84/pca9555.c | 78 ---------------------- keyboards/xd84/pca9555.h | 55 --------------- keyboards/xd84/rules.mk | 4 +- keyboards/xd96/pca9555.c | 78 ---------------------- keyboards/xd96/pca9555.h | 55 --------------- keyboards/xd96/rules.mk | 4 +- 9 files changed, 15 insertions(+), 275 deletions(-) rename {keyboards/moon => drivers/gpio}/pca9555.c (100%) rename {keyboards/moon => drivers/gpio}/pca9555.h (100%) delete mode 100644 keyboards/xd84/pca9555.c delete mode 100644 keyboards/xd84/pca9555.h delete mode 100644 keyboards/xd96/pca9555.c delete mode 100644 keyboards/xd96/pca9555.h diff --git a/keyboards/moon/pca9555.c b/drivers/gpio/pca9555.c similarity index 100% rename from keyboards/moon/pca9555.c rename to drivers/gpio/pca9555.c diff --git a/keyboards/moon/pca9555.h b/drivers/gpio/pca9555.h similarity index 100% rename from keyboards/moon/pca9555.h rename to drivers/gpio/pca9555.h diff --git a/keyboards/moon/rules.mk b/keyboards/moon/rules.mk index 699fc339570f..c8b39e8b7a1a 100644 --- a/keyboards/moon/rules.mk +++ b/keyboards/moon/rules.mk @@ -1,6 +1,3 @@ -# Project specific files -SRC += i2c_master.c pca9555.c matrix.c - # MCU name MCU = atmega32u4 @@ -50,10 +47,6 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT # atmega32a bootloadHID BOOTLOADER = atmel-dfu - -# Supported layouts -LAYOUTS = tkl_ansi tkl_iso - # Build Options # change yes to no to disable # @@ -74,4 +67,13 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) + +# custom matrix setup CUSTOM_MATRIX = yes + +VPATH += drivers/gpio +SRC += pca9555.c matrix.c +QUANTUM_LIB_SRC += i2c_master.c + +# Supported layouts +LAYOUTS = tkl_ansi tkl_iso diff --git a/keyboards/xd84/pca9555.c b/keyboards/xd84/pca9555.c deleted file mode 100644 index b0e542d8deff..000000000000 --- a/keyboards/xd84/pca9555.c +++ /dev/null @@ -1,78 +0,0 @@ -/* Copyright 2019 - * - * 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 "i2c_master.h" -#include "pca9555.h" - -#include "debug.h" - -#define SLAVE_TO_ADDR(n) (n << 1) -#define TIMEOUT 100 - -enum { - CMD_INPUT_0 = 0, - CMD_INPUT_1, - CMD_OUTPUT_0, - CMD_OUTPUT_1, - CMD_INVERSION_0, - CMD_INVERSION_1, - CMD_CONFIG_0, - CMD_CONFIG_1, -}; - -void pca9555_init(uint8_t slave_addr) { - static uint8_t s_init = 0; - if (!s_init) { - i2c_init(); - - s_init = 1; - } - - // TODO: could check device connected - // i2c_start(SLAVE_TO_ADDR(slave) | I2C_WRITE); - // i2c_stop(); -} - -void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_CONFIG_1 : CMD_CONFIG_0; - - i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_set_config::FAILED\n"); - } -} - -void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0; - - i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_set_output::FAILED\n"); - } -} - -uint8_t pca9555_readPins(uint8_t slave_addr, uint8_t port) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_INPUT_1 : CMD_INPUT_0; - - uint8_t data = 0; - i2c_status_t ret = i2c_readReg(addr, cmd, &data, sizeof(data), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_readPins::FAILED\n"); - } - return data; -} diff --git a/keyboards/xd84/pca9555.h b/keyboards/xd84/pca9555.h deleted file mode 100644 index ebb97e2f301a..000000000000 --- a/keyboards/xd84/pca9555.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright 2019 - * - * 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 . - */ -#pragma once - -/* - PCA9555 - ,----------. - SDA --| SDA P00 |-- P00 - SCL --| SCL P01 |-- P01 - INT --| INT P02 |-- P02 - | P03 |-- P03 - A0 --| A0 P04 |-- P04 - A1 --| A1 P05 |-- P05 - A2 --| A2 P06 |-- P06 - | P07 |-- P07 - | | - | P10 |-- P10 - | P11 |-- P11 - | P12 |-- P12 - | P13 |-- P13 - | P14 |-- P14 - | P15 |-- P15 - | P16 |-- P16 - | P17 |-- P17 - `----------' -*/ - -#define PCA9555_PORT0 0 -#define PCA9555_PORT1 1 - -#define ALL_OUTPUT 0 -#define ALL_INPUT 0xFF -#define ALL_LOW 0 -#define ALL_HIGH 0xFF - -void pca9555_init(uint8_t slave_addr); - -void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf); - -void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf); - -uint8_t pca9555_readPins(uint8_t slave_addr, uint8_t port); diff --git a/keyboards/xd84/rules.mk b/keyboards/xd84/rules.mk index e0982e0401c1..916645226210 100644 --- a/keyboards/xd84/rules.mk +++ b/keyboards/xd84/rules.mk @@ -77,11 +77,13 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches -HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) +HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) LINK_TIME_OPTIMIZATION_ENABLE = yes # custom matrix setup CUSTOM_MATRIX = yes + +VPATH += drivers/gpio SRC += custom_matrix_helper.c pca9555.c matrix.c QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/xd96/pca9555.c b/keyboards/xd96/pca9555.c deleted file mode 100644 index b0e542d8deff..000000000000 --- a/keyboards/xd96/pca9555.c +++ /dev/null @@ -1,78 +0,0 @@ -/* Copyright 2019 - * - * 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 "i2c_master.h" -#include "pca9555.h" - -#include "debug.h" - -#define SLAVE_TO_ADDR(n) (n << 1) -#define TIMEOUT 100 - -enum { - CMD_INPUT_0 = 0, - CMD_INPUT_1, - CMD_OUTPUT_0, - CMD_OUTPUT_1, - CMD_INVERSION_0, - CMD_INVERSION_1, - CMD_CONFIG_0, - CMD_CONFIG_1, -}; - -void pca9555_init(uint8_t slave_addr) { - static uint8_t s_init = 0; - if (!s_init) { - i2c_init(); - - s_init = 1; - } - - // TODO: could check device connected - // i2c_start(SLAVE_TO_ADDR(slave) | I2C_WRITE); - // i2c_stop(); -} - -void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_CONFIG_1 : CMD_CONFIG_0; - - i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_set_config::FAILED\n"); - } -} - -void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0; - - i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_set_output::FAILED\n"); - } -} - -uint8_t pca9555_readPins(uint8_t slave_addr, uint8_t port) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_INPUT_1 : CMD_INPUT_0; - - uint8_t data = 0; - i2c_status_t ret = i2c_readReg(addr, cmd, &data, sizeof(data), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_readPins::FAILED\n"); - } - return data; -} diff --git a/keyboards/xd96/pca9555.h b/keyboards/xd96/pca9555.h deleted file mode 100644 index ebb97e2f301a..000000000000 --- a/keyboards/xd96/pca9555.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright 2019 - * - * 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 . - */ -#pragma once - -/* - PCA9555 - ,----------. - SDA --| SDA P00 |-- P00 - SCL --| SCL P01 |-- P01 - INT --| INT P02 |-- P02 - | P03 |-- P03 - A0 --| A0 P04 |-- P04 - A1 --| A1 P05 |-- P05 - A2 --| A2 P06 |-- P06 - | P07 |-- P07 - | | - | P10 |-- P10 - | P11 |-- P11 - | P12 |-- P12 - | P13 |-- P13 - | P14 |-- P14 - | P15 |-- P15 - | P16 |-- P16 - | P17 |-- P17 - `----------' -*/ - -#define PCA9555_PORT0 0 -#define PCA9555_PORT1 1 - -#define ALL_OUTPUT 0 -#define ALL_INPUT 0xFF -#define ALL_LOW 0 -#define ALL_HIGH 0xFF - -void pca9555_init(uint8_t slave_addr); - -void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf); - -void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf); - -uint8_t pca9555_readPins(uint8_t slave_addr, uint8_t port); diff --git a/keyboards/xd96/rules.mk b/keyboards/xd96/rules.mk index 91736bd87859..3a97fe5f98b8 100644 --- a/keyboards/xd96/rules.mk +++ b/keyboards/xd96/rules.mk @@ -77,10 +77,12 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches -HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) +HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) LINK_TIME_OPTIMIZATION_ENABLE = yes # custom matrix setup CUSTOM_MATRIX = yes + +VPATH += drivers/gpio SRC += custom_matrix_helper.c pca9555.c matrix.c QUANTUM_LIB_SRC += i2c_master.c From ae44ec9820cdf5348e802c9bae3af34557617685 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 23 Aug 2019 00:08:45 +0100 Subject: [PATCH 024/416] Align flashing behaviour of dfu-util (#6578) * Align flashing retry logic of dfu-util * Align bootloader wait messages Co-Authored-By: Drashna Jaelre --- docs/flashing.md | 6 ++---- tmk_core/chibios.mk | 22 ++++++---------------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/docs/flashing.md b/docs/flashing.md index 833b9dd629f7..d11dbdf15b5a 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -171,7 +171,5 @@ Flashing sequence: There are a number of DFU commands that you can use to flash firmware to a STM32 device: -* `:dfu-util` - The default command for flashing to STM32 devices. -* `:dfu-util-wait` - This works like the default command, but it gives you a (configurable) 10 second timeout before it attempts to flash the firmware. You can use `TIME_DELAY=20` from the command line to change the timeout. - * Eg: `make ::dfu-util TIME_DELAY=5` -* `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util. +* `:dfu-util` - The default command for flashing to STM32 devices. +* `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util. diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index eee520467d78..4b5b6d00b5ae 100644 --- a/tmk_core/chibios.mk +++ b/tmk_core/chibios.mk @@ -235,28 +235,18 @@ qmk: $(BUILD_DIR)/$(TARGET).bin printf "@ $(TARGET).json\n@=info.json\n" | zipnote -w $(TARGET).qmk define EXEC_DFU_UTIL + until $(DFU_UTIL) -l | grep -q "Found DFU"; do\ + echo "Error: Bootloader not found. Trying again in 5s." ;\ + sleep 5 ;\ + done $(DFU_UTIL) $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin endef dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter $(call EXEC_DFU_UTIL) -ifneq ($(strip $(TIME_DELAY)),) - TIME_DELAY = $(strip $(TIME_DELAY)) -else - TIME_DELAY = 10 -endif -dfu-util-wait: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter - echo "Preparing to flash firmware. Please enter bootloader now..." ;\ - COUNTDOWN=$(TIME_DELAY) ;\ - while [[ $$COUNTDOWN -ge 1 ]] ; do \ - echo "Flashing in $$COUNTDOWN ..."; \ - sleep 1 ;\ - ((COUNTDOWN = COUNTDOWN - 1)) ; \ - done; \ - echo "Flashing $(TARGET).bin" ;\ - sleep 1 ;\ - $(call EXEC_DFU_UTIL) +# Legacy alias +dfu-util-wait: dfu-util st-link-cli: $(BUILD_DIR)/$(TARGET).hex sizeafter $(ST_LINK_CLI) $(ST_LINK_ARGS) -q -c SWD -p $(BUILD_DIR)/$(TARGET).hex -Rst From e0f91f37c4b944b328f9e022b18f2f1ad702fcf4 Mon Sep 17 00:00:00 2001 From: Elias Date: Fri, 23 Aug 2019 23:18:37 +0200 Subject: [PATCH 025/416] Added 4by3 keyboard (#6547) * Added 4by3 keyboard * Added DEVICE_VER and DESCRIPTION * Removed F_CPU, F_USB, ARCH, and OPT_DEFS * Add 3 new LAYOUT macros for orientations and fixes * Apply suggestions from code review Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Added comments to 4by3 and changed info.json * Update keyboards/4by3/4by3.h Co-Authored-By: fauxpark --- keyboards/4by3/4by3.c | 1 + keyboards/4by3/4by3.h | 70 +++++++++++++++++++ keyboards/4by3/config.h | 26 +++++++ keyboards/4by3/info.json | 41 +++++++++++ keyboards/4by3/keymaps/arrowpad/keymap.c | 12 ++++ keyboards/4by3/keymaps/default/keymap.c | 9 +++ keyboards/4by3/keymaps/default/readme.md | 3 + .../4by3/keymaps/funcpad_horizontal/keymap.c | 9 +++ .../4by3/keymaps/funcpad_vertical/keymap.c | 12 ++++ .../4by3/keymaps/numpad_horizontal/keymap.c | 9 +++ .../4by3/keymaps/numpad_vertical/keymap.c | 12 ++++ keyboards/4by3/readme.md | 15 ++++ keyboards/4by3/rules.mk | 8 +++ 13 files changed, 227 insertions(+) create mode 100644 keyboards/4by3/4by3.c create mode 100644 keyboards/4by3/4by3.h create mode 100644 keyboards/4by3/config.h create mode 100644 keyboards/4by3/info.json create mode 100644 keyboards/4by3/keymaps/arrowpad/keymap.c create mode 100644 keyboards/4by3/keymaps/default/keymap.c create mode 100644 keyboards/4by3/keymaps/default/readme.md create mode 100644 keyboards/4by3/keymaps/funcpad_horizontal/keymap.c create mode 100644 keyboards/4by3/keymaps/funcpad_vertical/keymap.c create mode 100644 keyboards/4by3/keymaps/numpad_horizontal/keymap.c create mode 100644 keyboards/4by3/keymaps/numpad_vertical/keymap.c create mode 100644 keyboards/4by3/readme.md create mode 100644 keyboards/4by3/rules.mk diff --git a/keyboards/4by3/4by3.c b/keyboards/4by3/4by3.c new file mode 100644 index 000000000000..3ae27260d441 --- /dev/null +++ b/keyboards/4by3/4by3.c @@ -0,0 +1 @@ +#include "4by3.h" \ No newline at end of file diff --git a/keyboards/4by3/4by3.h b/keyboards/4by3/4by3.h new file mode 100644 index 000000000000..b41628137a6f --- /dev/null +++ b/keyboards/4by3/4by3.h @@ -0,0 +1,70 @@ +#pragma once + +#include "quantum.h" + +/* LAYOUT_horizontal + * ┌───┐ + * │USB│ + * ├───┼───┬───┬───┐ + * │K00│K01│K02│K03│ + * ├───┼───┼───┼───┤ + * │K10│K11│K12│K13│ + * ├───┼───┼───┼───┤ + * │K20│K21│K22│K23│ + * └───┴───┴───┴───┘ + */ +#define LAYOUT_horizontal( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 } \ +} + +/* LAYOUT_vertical_right + * ┌───┬───┬───┬───┐ + * │K00│K01│K03│USB│ + * ├───┼───┼───┬───┘ + * │K04│K05│K06│ + * ├───┼───┼───┤ + * │K07│K08│K09│ + * ├───┼───┼───┤ + * │K10│K11│K12│ + * └───┴───┴───┘ + */ +#define LAYOUT_vertical_right( \ + K20, K10, K00, \ + K21, K11, K01, \ + K22, K12, K02, \ + K23, K13, K03 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 } \ +} + +/* LAYOUT_vertical_left + * ┌───┬───┬───┐ + * │K00│K01│K03│ + * ├───┼───┼───┤ + * │K04│K05│K06│ + * ├───┼───┼───┤ + * │K07│K08│K09│ + * ┌───┼───┼───┼───┤ + * │USB│K10│K11│K12│ + * └───┴───┴───┴───┘ + */ +#define LAYOUT_vertical_left( \ + K03, K13, K23, \ + K02, K12, K22, \ + K01, K11, K21, \ + K00, K10, K20 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 } \ +} + +#define LAYOUT LAYOUT_horizontal diff --git a/keyboards/4by3/config.h b/keyboards/4by3/config.h new file mode 100644 index 000000000000..2095ee42c226 --- /dev/null +++ b/keyboards/4by3/config.h @@ -0,0 +1,26 @@ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xEEEE +#define PRODUCT_ID 0x2019 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Elias Sjögreen +#define PRODUCT 4by3 +#define DESCRIPTION A small 12 key keypad + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 4 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D1, D0, D4 } +#define MATRIX_COL_PINS { C6, D7, E6, B4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/4by3/info.json b/keyboards/4by3/info.json new file mode 100644 index 000000000000..9cc07a9240f9 --- /dev/null +++ b/keyboards/4by3/info.json @@ -0,0 +1,41 @@ +{ + "keyboard_name": "4by3", + "url": "https://github.com/eliassjogreen/4by3", + "maintainer": "eliassjogreen", + "width": 4, + "height": 3, + "layouts": { + "LAYOUT_horizontal": { + "key_count": 12, + "width": 4, + "height": 3, + "layout": [ + { "x": 0, "y": 0 }, { "x": 1, "y": 0 }, { "x": 2, "y": 0 }, { "x": 3, "y": 0 }, + { "x": 0, "y": 1 }, { "x": 1, "y": 1 }, { "x": 2, "y": 1 }, { "x": 3, "y": 1 }, + { "x": 0, "y": 2 }, { "x": 1, "y": 2 }, { "x": 2, "y": 2 }, { "x": 3, "y": 2 } + ] + }, + "LAYOUT_vertical_right": { + "key_count": 12, + "width": 3, + "height": 4, + "layout": [ + { "x": 0, "y": 0 }, { "x": 1, "y": 0 }, { "x": 2, "y": 0 }, + { "x": 0, "y": 1 }, { "x": 1, "y": 1 }, { "x": 2, "y": 1 }, + { "x": 0, "y": 2 }, { "x": 1, "y": 2 }, { "x": 2, "y": 2 }, + { "x": 0, "y": 3 }, { "x": 1, "y": 3 }, { "x": 2, "y": 3 } + ] + }, + "LAYOUT_vertical_left": { + "key_count": 12, + "width": 3, + "height": 4, + "layout": [ + { "x": 0, "y": 0 }, { "x": 1, "y": 0 }, { "x": 2, "y": 0 }, + { "x": 0, "y": 1 }, { "x": 1, "y": 1 }, { "x": 2, "y": 1 }, + { "x": 0, "y": 2 }, { "x": 1, "y": 2 }, { "x": 2, "y": 2 }, + { "x": 0, "y": 3 }, { "x": 1, "y": 3 }, { "x": 2, "y": 3 } + ] + } + } +} diff --git a/keyboards/4by3/keymaps/arrowpad/keymap.c b/keyboards/4by3/keymaps/arrowpad/keymap.c new file mode 100644 index 000000000000..df803a35e609 --- /dev/null +++ b/keyboards/4by3/keymaps/arrowpad/keymap.c @@ -0,0 +1,12 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Change 'LAYOUT_vertical_right' to 'LAYOUT_vertical_left' + to change the side where the pro micro usb port is. */ + [0] = LAYOUT_vertical_right( + KC_INS , KC_HOME , KC_PGUP , + KC_DEL , KC_END , KC_PGDN , + KC_PSCR , KC_UP , KC_PAUS , + KC_LEFT , KC_DOWN , KC_RGHT + ) +}; diff --git a/keyboards/4by3/keymaps/default/keymap.c b/keyboards/4by3/keymaps/default/keymap.c new file mode 100644 index 000000000000..f348dc84fb09 --- /dev/null +++ b/keyboards/4by3/keymaps/default/keymap.c @@ -0,0 +1,9 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_horizontal( + KC_VOLU , _______ , _______ , _______ , + KC_MUTE , KC_MPRV , KC_MPLY , KC_MNXT , + KC_VOLD , _______ , _______ , _______ + ) +}; diff --git a/keyboards/4by3/keymaps/default/readme.md b/keyboards/4by3/keymaps/default/readme.md new file mode 100644 index 000000000000..281dfd5463f9 --- /dev/null +++ b/keyboards/4by3/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# The default 4by3 keymap + +![The default 4by3 keymap](https://i.imgur.com/E4OlQAs.png) diff --git a/keyboards/4by3/keymaps/funcpad_horizontal/keymap.c b/keyboards/4by3/keymaps/funcpad_horizontal/keymap.c new file mode 100644 index 000000000000..287d125ef13c --- /dev/null +++ b/keyboards/4by3/keymaps/funcpad_horizontal/keymap.c @@ -0,0 +1,9 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_horizontal( + KC_F1 , KC_F2 , KC_F3 , KC_F4 , + KC_F5 , KC_F6 , KC_F7 , KC_F8 , + KC_F9 , KC_F10 , KC_F11 , KC_F12 + ) +}; diff --git a/keyboards/4by3/keymaps/funcpad_vertical/keymap.c b/keyboards/4by3/keymaps/funcpad_vertical/keymap.c new file mode 100644 index 000000000000..c345f282401b --- /dev/null +++ b/keyboards/4by3/keymaps/funcpad_vertical/keymap.c @@ -0,0 +1,12 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Change 'LAYOUT_vertical_right' to 'LAYOUT_vertical_left' + to change the side where the pro micro usb port is. */ + [0] = LAYOUT_vertical_right( + KC_F1 , KC_F2 , KC_F3 , + KC_F4 , KC_F5 , KC_F6 , + KC_F7 , KC_F8 , KC_F9 , + KC_F10 , KC_F11 , KC_F12 + ) +}; diff --git a/keyboards/4by3/keymaps/numpad_horizontal/keymap.c b/keyboards/4by3/keymaps/numpad_horizontal/keymap.c new file mode 100644 index 000000000000..c1195b0bc90e --- /dev/null +++ b/keyboards/4by3/keymaps/numpad_horizontal/keymap.c @@ -0,0 +1,9 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_horizontal( + KC_P1 , KC_P2 , KC_P3 , KC_P4 , + KC_P5 , KC_P6 , KC_P7 , KC_P8 , + KC_P9 , KC_P0 , KC_BSPC , KC_ENT + ), +}; diff --git a/keyboards/4by3/keymaps/numpad_vertical/keymap.c b/keyboards/4by3/keymaps/numpad_vertical/keymap.c new file mode 100644 index 000000000000..7705ea9b83e1 --- /dev/null +++ b/keyboards/4by3/keymaps/numpad_vertical/keymap.c @@ -0,0 +1,12 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Change 'LAYOUT_vertical_right' to 'LAYOUT_vertical_left' + to change the side where the pro micro usb port is. */ + [0] = LAYOUT_vertical_right( + KC_P1 , KC_P2 , KC_P3 , + KC_P4 , KC_P5 , KC_P6 , + KC_P7 , KC_P8 , KC_P9 , + KC_BSPC , KC_P0 , KC_ENT + ), +}; diff --git a/keyboards/4by3/readme.md b/keyboards/4by3/readme.md new file mode 100644 index 000000000000..0197c4ff80d1 --- /dev/null +++ b/keyboards/4by3/readme.md @@ -0,0 +1,15 @@ +# 4by3 + +![4by3](https://i.imgur.com/Ykb7evL.jpg) + +A 12 key mechanical keypad. + +Keyboard Maintainer: [eliassjogreen](https://github.com/eliassjogreen) +Hardware Supported: 4by3 +Hardware Availability: [eliassjogreen/4by3](https://github.com/eliassjogreen/4by3) + +Make example for this keyboard (after setting up your build environment): + + make 4by3:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/4by3/rules.mk b/keyboards/4by3/rules.mk new file mode 100644 index 000000000000..7d22998333e2 --- /dev/null +++ b/keyboards/4by3/rules.mk @@ -0,0 +1,8 @@ +MCU = atmega32u4 +BOOTLOADER = caterina + +EXTRAKEY_ENABLE = yes +NKRO_ENABLE = yes +CONSOLE_ENABLE = yes +COMMAND_ENABLE = yes + From 064d9da93e8055d95717823aefd2b88289374c12 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 23 Aug 2019 14:23:53 -0700 Subject: [PATCH 026/416] Add Soft Serial Speed to Diverge3 keyboard config for compatibility (#5076) --- keyboards/diverge3/.gitignore | 1 - keyboards/diverge3/config.h | 9 +++++---- 2 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 keyboards/diverge3/.gitignore diff --git a/keyboards/diverge3/.gitignore b/keyboards/diverge3/.gitignore deleted file mode 100644 index 722d5e71d93c..000000000000 --- a/keyboards/diverge3/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.vscode diff --git a/keyboards/diverge3/config.h b/keyboards/diverge3/config.h index a593bca9db62..96196667c04b 100644 --- a/keyboards/diverge3/config.h +++ b/keyboards/diverge3/config.h @@ -15,8 +15,7 @@ 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 +#pragma once #include "config_common.h" @@ -59,6 +58,10 @@ along with this program. If not, see . /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D0 +#ifndef SELECT_SOFT_SERIAL_SPEED +#define SELECT_SOFT_SERIAL_SPEED 3 +#endif + /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST @@ -181,5 +184,3 @@ along with this program. If not, see . /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ //#define MIDI_TONE_KEYCODE_OCTAVES 1 - -#endif From fb7c65dc34b3001617635e6afd10480f2770522d Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sat, 24 Aug 2019 16:38:21 +1000 Subject: [PATCH 027/416] Add Zadig 101 to docs (#6585) * Add Zadig 101 to docs * Add USBasp bootloader name * Add links to the page * Note the usual VIDs and PIDs for the bootloaders * Add "List All Devices" note, just in case * Talk about keyboard-specific bootloader procedures * Send users to the new page in "Unknown Device for DFU Bootloader" section * Halfkay bootloaders are also an exception here --- docs/_summary.md | 1 + docs/driver_installation_zadig.md | 42 +++++++++++++++++++++++++++++++ docs/faq_build.md | 9 +++---- 3 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 docs/driver_installation_zadig.md diff --git a/docs/_summary.md b/docs/_summary.md index 56184f44deb1..95286ff46ccb 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -18,6 +18,7 @@ * [Build/Compile QMK](faq_build.md) * [Debugging/Troubleshooting QMK](faq_debug.md) * [Keymap](faq_keymap.md) + * [Driver Installation with Zadig](driver_installation_zadig.md) * Detailed Guides * [Install Build Tools](getting_started_build_tools.md) diff --git a/docs/driver_installation_zadig.md b/docs/driver_installation_zadig.md new file mode 100644 index 000000000000..ccee7008ebac --- /dev/null +++ b/docs/driver_installation_zadig.md @@ -0,0 +1,42 @@ +# Bootloader Driver Installation with Zadig + +QMK presents itself to the host as a regular HID keyboard device, and as such requires no special drivers. However, in order to flash your keyboard on Windows, the bootloader device that appears when you reset the board often *does*. + +There are two notable exceptions: the Caterina bootloader, usually seen on Pro Micros, and the Halfkay bootloader shipped with PJRC Teensys, appear as a serial port and a generic HID device respectively, and so do not require a driver. + +We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have set up the development environment with Msys2 or WSL, the `qmk_install.sh` script will have asked if you want it to install the drivers for you. + +## Installation + +Place your keyboard into the bootloader mode, either by hitting the `RESET` keycode (which may be on a different layer), or by pressing the reset switch usually located on the underside of the board. If your keyboard has neither, try holding Escape, or Space+`B`, as you plug it in (see the [Bootmagic](feature_bootmagic.md) docs for more details). +Some keyboards may have specific instructions for entering the bootloader, for example the [Bootmagic Lite](feature_bootmagic.md#bootmagic-lite) key (Escape) might be on a different key, such as Left Control. Refer to the board's README if you are unsure. + +Zadig will automatically detect the bootloader device. You may sometimes need to check **Options -> List All Devices**. + - For keyboards with Atmel AVR MCUs, the bootloader will be named something similar to `ATm32U4DFU`, and have a Vendor ID of `03EB`. + - USBasp bootloaders will appear as `USBasp`, with a VID/PID of `16C0:05DC`. + - AVR keyboards flashed with the QMK-DFU bootloader will be named ` Bootloader` and will also have the VID `03EB`. + - For most ARM keyboards, it will be called `STM32 BOOTLOADER`, and have a VID/PID of `0483:DF11`. + +!> If Zadig lists one or more devices with the `HidUsb` driver, your keyboard is probably not in bootloader mode. The arrow will be colored orange and you will be asked to confirm modifying a system driver. **Do not** proceed if this is the case! + +If the arrow appears green, select the driver, and click **Install Driver**. The `libusb-win32` driver will usually work for AVR, and `WinUSB` for ARM, but if you still cannot flash the board, try installing a different driver from the list. + +![Zadig with a bootloader driver correctly installed](https://i.imgur.com/b8VgXzx.png) + +Finally, unplug and replug the keyboard to make sure the new driver has been loaded. If you are using the QMK Toolbox to flash, exit and restart it too, as it can sometimes fail to recognize the driver change. + +## Recovering from Installation to Wrong Device + +If you find that you can no longer type with the keyboard, you may have installed the driver onto the keyboard itself instead of the bootloader. You can easily confirm this in Zadig - a healthy keyboard has the `HidUsb` driver installed on all of its interfaces: + +![A healthy keyboard as seen by Zadig](https://i.imgur.com/Hx0E5kC.png) + +Open the Device Manager and look for a device that looks like your keyboard. + +![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/L3wvX8f.png) + +Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first. + +![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png) + +Click **Action -> Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! diff --git a/docs/faq_build.md b/docs/faq_build.md index 3fe358edaf2e..f11cb76aa2bd 100644 --- a/docs/faq_build.md +++ b/docs/faq_build.md @@ -75,14 +75,11 @@ Pro Micro (Atmega32u4), make sure to include `CONFIG_USB_ACM=y`. Other devices m ## Unknown Device for DFU Bootloader -Issues encountered when flashing keyboards on Windows are most often due to having the wrong drivers installed for the bootloader. +Issues encountered when flashing keyboards on Windows are most often due to having the wrong drivers installed for the bootloader, or none at all. -Re-running the installation script for MSYS2 may help (eg run `util/qmk_install.sh` from MSYS2/WSL) or reinstalling the QMK Toolbox may fix the issue. Alternatively, you can download and run the [`qmk_driver_installer`](https://github.com/qmk/qmk_driver_installer) package. - -If that doesn't work, then you may need to grab the [Zadig Utility](https://zadig.akeo.ie/). Download this, and run it on the system. Then, you will need to reset your board into bootloader mode. After that, locate the device in question. If the device doesn't show up in the list (or nothing shows up in the list), you may need to enable the `List all devices` option in the `Options` menu. - -From here, you will need to know what type of controller the board is using. You may see it listed in the Device Manager as `ATmega32U4` device (which is an AVR board), or an `STM32` device (Which is an ARM board). For AVR boards, use `libusb-win32` for the driver. For ARM boards, use the `WinUSB` driver. Once the correct driver type has been selected, click on the `Replace Driver` button, unplug your board, plug it back in, and reset it again. +Re-running the QMK installation script (`./util/qmk_install.sh` from the `qmk_firmware` directory in MSYS2 or WSL) or reinstalling the QMK Toolbox may fix the issue. Alternatively, you can download and run the [`qmk_driver_installer`](https://github.com/qmk/qmk_driver_installer) package manually. +If that doesn't work, then you may need to download and run Zadig. See [Bootloader Driver Installation with Zadig](driver_installation_zadig.md) for more detailed information. ## WINAVR is Obsolete It is no longer recommended and may cause some problem. From 51bcadf38cfccc08b287554ab17e21624abf55b8 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 24 Aug 2019 16:35:11 +0100 Subject: [PATCH 028/416] Add 'bootloadHID' flash target (#5587) * Add 'bootloadHID' flash target * Prep for flash target * Add :flash support * Align bootloader wait messages Co-Authored-By: Drashna Jaelre * Update template to suggest use of :flash --- docs/flashing.md | 30 +++++++++++++ docs/flashing_bootloadhid.md | 70 +++++++++++++++++++++++++++++ docs/getting_started_make_guide.md | 2 +- docs/newbs_flashing.md | 36 +++++++++++++++ quantum/template/ps2avrgb/readme.md | 35 +++------------ tmk_core/avr.mk | 15 +++++++ 6 files changed, 157 insertions(+), 31 deletions(-) create mode 100644 docs/flashing_bootloadhid.md diff --git a/docs/flashing.md b/docs/flashing.md index d11dbdf15b5a..b47a5ebf8e14 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -144,6 +144,36 @@ Flashing sequence: 3. Flash a .hex file 4. Reset the device into application mode (may be done automatically) +## BootloadHID + +BootloadHID is a USB bootloader for AVR microcontrollers. The uploader tool requires no kernel level driver on Windows and can therefore be run without installing any DLLs. + +To ensure compatibility with the bootloadHID bootloader, make sure this block is present your `rules.mk`: + + # Bootloader + # This definition is optional, and if your keyboard supports multiple bootloaders of + # different sizes, comment this out, and the correct address will be loaded + # automatically (+60). See bootloader.mk for all options. + BOOTLOADER = bootloadHID + +Compatible flashers: + +* [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) (recommended Windows GUI) +* [bootloadhid Command Line](https://www.obdev.at/products/vusb/bootloadhid.html) / `:BootloadHID` in QMK (recommended command line) + +Flashing sequence: + +1. Enter the bootloader using any of the following methods: + * Tap the `RESET` keycode (may not work on all devices) + * Hold the salt key while plugging the keyboard in (usually documented within keyboard readme) +2. Wait for the OS to detect the device +3. Flash a .hex file +4. Reset the device into application mode (may be done automatically) + +or: + + make ::bootloadHID + ## STM32 All STM32 chips come preloaded with a factory bootloader that cannot be modified nor deleted. Some STM32 chips have bootloaders that do not come with USB programming (e.g. STM32F103) but the process is still the same. diff --git a/docs/flashing_bootloadhid.md b/docs/flashing_bootloadhid.md new file mode 100644 index 000000000000..c51d8ce4b8f3 --- /dev/null +++ b/docs/flashing_bootloadhid.md @@ -0,0 +1,70 @@ +# BootloadHID Flashing Instructions and Bootloader Information + +ps2avr(GB) boards use an ATmega32A microcontroller and a different bootloader. It is not flashable using the regular QMK methods. + +General flashing sequence: + +1. Enter the bootloader using any of the following methods: + * Tap the `RESET` keycode (may not work on all devices) + * Hold the salt key while plugging the keyboard in (usually documented within keyboard readme) +2. Wait for the OS to detect the device +3. Flash a .hex file +4. Reset the device into application mode (may be done automatically) + +## bootloadHID Flashing Target + +Using the QMK installation script, detailed [here](newbs_getting_started.md), the required bootloadHID tools should be automatically installed. + +To flash via the command line, use the target `:bootloadHID` by executing the following command: + + make ::bootloadHID + +## GUI Flashing + +### Windows +1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash). +2. Place your keyboard into reset. +3. Ensure the configured VendorID is `16c0` and ProductID is `05df` +4. Press the `Find Device` button and ensure that your keyboard is found. +5. Press the `Open .hex File` button and locate the `.hex` file you created. +6. Press the `Flash Device` button and wait for the process to complete. + +## Command Line Flashing + +1. Place your keyboard into reset. +2. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file. + +### Windows Manual Installation +For MSYS2: +1. Download the BootloadHID firmware package from https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz. +2. Extract contents using a compatible tool, for example 7-Zip. +3. Add to the MSYS path by copying `commandline/bootloadHID.exe` from the extracted archive to your MSYS2 installation, typically `C:\msys64\usr\bin`. + +For native Windows flashing, the `bootloadHID.exe` can be used outside of the MSYS2 environment. + +### Linux Manual Installation +1. Install libusb development dependency: + ```bash + # This depends on OS - for Debian the following works + sudo apt-get install libusb-dev + ``` +2. Download the BootloadHID firmware package: + ``` + wget https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz -O - | tar -xz -C /tmp + ``` +3. Build the bootloadHID executable: + ``` + cd /tmp/bootloadHID.2012-12-08/commandline/ + make + sudo cp bootloadHID /usr/local/bin + ``` + +### MacOS Manual Installation +1. Install Homebrew by typing the following: + ``` + /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + ``` +2. Install the following packages: + ``` + brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb + ``` diff --git a/docs/getting_started_make_guide.md b/docs/getting_started_make_guide.md index 4fe3f184df45..71e9d33f25f4 100644 --- a/docs/getting_started_make_guide.md +++ b/docs/getting_started_make_guide.md @@ -14,7 +14,7 @@ The full syntax of the `make` command is `::`, The `` means the following * If no target is given, then it's the same as `all` below * `all` compiles as many keyboard/revision/keymap combinations as specified. For example, `make planck/rev4:default` will generate a single .hex, while `make planck/rev4:all` will generate a hex for every keymap available to the planck. -* `dfu`, `teensy`, `avrdude` or `dfu-util`, compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for ChibiOS keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme. +* `dfu`, `teensy`, `avrdude`, `dfu-util` or `bootloadHID`, compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for ChibiOS keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme. * **Note**: some operating systems need root access for these commands to work, so in that case you need to run for example `sudo make planck/rev4:default:dfu`. * `clean`, cleans the build output folders to make sure that everything is built from scratch. Run this before normal compilation if you have some unexplainable problems. diff --git a/docs/newbs_flashing.md b/docs/newbs_flashing.md index c8a30dba05bf..3bf582d7f631 100644 --- a/docs/newbs_flashing.md +++ b/docs/newbs_flashing.md @@ -248,6 +248,42 @@ Programming..................................................................... Booting ``` +## BootloadHID + +For Bootmapper Client(BMC)/bootloadHID/ATmega32A based boards, when you're ready to compile and flash your firmware, open up your terminal window and run the build command: + + make ::bootloaderHID + +For example, if your keymap is named "xyverz" and you're building a keymap for a jj40, you'll use this command: + + make jj40:xyverz:bootloaderHID + +Once the firmware finishes compiling, it will output something like this: + +``` +Linking: .build/jj40_default.elf [OK] +Creating load file for flashing: .build/jj40_default.hex [OK] +Copying jj40_default.hex to qmk_firmware folder [OK] +Checking file size of jj40_default.hex [OK] + * The firmware size is fine - 21920/28672 (6752 bytes free) +``` + +After it gets to this point, the build script will look for the DFU bootloader every 5 seconds. It will repeat the following until the device is found or you cancel it. + +``` +Error opening HIDBoot device: The specified device was not found +Trying again in 5s. +``` + +Once it does this, you'll want to reset the controller. It should then show output similar to this: + +``` +Page size = 128 (0x80) +Device size = 32768 (0x8000); 30720 bytes remaining +Uploading 22016 (0x5600) bytes starting at 0 (0x0) +0x05580 ... 0x05600 +``` + ## STM32 (ARM) For a majority of ARM boards (including the Proton C, Planck Rev 6, and Preonic Rev 3), when you're ready to compile and flash your firmware, open up your terminal window and run the build command: diff --git a/quantum/template/ps2avrgb/readme.md b/quantum/template/ps2avrgb/readme.md index 1449b278cdf2..9d3ca0006fbf 100644 --- a/quantum/template/ps2avrgb/readme.md +++ b/quantum/template/ps2avrgb/readme.md @@ -12,35 +12,10 @@ Make example for this keyboard (after setting up your build environment): make %KEYBOARD%:default -Flashing - -ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods. - -**Reset Key:** Hold down the key located at `K00`, commonly programmed as `Esc` while plugging in the keyboard. - -Windows: -1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash). -2. Place your keyboard into reset. -3. Press the `Find Device` button and ensure that your keyboard is found. -4. Press the `Open .hex File` button and locate the `.hex` file you created. -5. Press the `Flash Device` button and wait for the process to complete. - -macOS: -1. Install homebrew by typing the following: - ``` - /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - ``` -2. Install `crosspack-avr`. - ``` - brew cask install crosspack-avr - ``` -3. Install the following packages: - ``` - brew install python3 - pip3 install pyusb - brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb - ``` -4. Place your keyboard into reset. -5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file. +Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](flashing_bootloadhid.md)) + + make %KEYBOARD%:default:flash + +**Reset Key**: Hold down the key located at *LOCATION*, commonly programmed as *KEY* while plugging in the keyboard. See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk index e5443418b94c..bdda14a07036 100644 --- a/tmk_core/avr.mk +++ b/tmk_core/avr.mk @@ -246,6 +246,19 @@ endef usbasp: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware $(call EXEC_USBASP) +BOOTLOADHID_PROGRAMMER ?= bootloadHID + +define EXEC_BOOTLOADHID + # bootloadHid executable has no cross platform detect methods + # so keep running bootloadHid if the output contains "The specified device was not found" + until $(BOOTLOADHID_PROGRAMMER) -r $(BUILD_DIR)/$(TARGET).hex 2>&1 | tee /dev/stderr | grep -v "device was not found"; do\ + echo "Error: Bootloader not found. Trying again in 5s." ;\ + sleep 5 ;\ + done +endef + +bootloadHID: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware + $(call EXEC_BOOTLOADHID) # Convert hex to bin. bin: $(BUILD_DIR)/$(TARGET).hex @@ -331,6 +344,8 @@ else ifeq (dfu,$(findstring dfu,$(BOOTLOADER))) $(call EXEC_DFU) else ifeq ($(strip $(BOOTLOADER)), USBasp) $(call EXEC_USBASP) +else ifeq ($(strip $(BOOTLOADER)), bootloadHID) + $(call EXEC_BOOTLOADHID) else $(PRINT_OK); $(SILENT) || printf "&(MSG_FLASH_BOOTLOADER)" endif From 2ef6bbbf5ffba0142613bc394c41ba580a7e2c7e Mon Sep 17 00:00:00 2001 From: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com> Date: Sat, 24 Aug 2019 09:01:12 -0700 Subject: [PATCH 029/416] [Keymap] Update to userspace kuchosauroand0 (#6596) * added combos * minor adjustments, added combos * Add second encoder, add modifiers to encoders Added a skeleton for the possibily having a second encoder. Added 9 modifiers for the first rotary encoder: - None General navigation. Page up/down - SHIFT Fast navigation. Home/end - CTRL Vertical navigation. Up/down - CTRL+SHIFT Horizontal navigation. Left/right - ALT Audio volume control. - GUI Browser navigation(windows). Forward/backward - ALT+SHIFT Form navigation. Tab up/down - ALT+CTRL Media control. (Play|pause)/mute - HYPER Media navigation. Next/prev track Key codes are stored in `uint16_t encoder_actions[2][9]` * Add second encoder, add modifiers to encoders Added a skeleton for the possibily having a second encoder. Added 9 modifiers for the first rotary encoder: - None General navigation. Page up/down - SHIFT Fast navigation. Home/end - CTRL Vertical navigation. Up/down - CTRL+SHIFT Horizontal navigation. Left/right - ALT Audio volume control. - GUI Browser navigation(windows). Forward/backward - ALT+SHIFT Form navigation. Tab up/down - ALT+CTRL Media control. (Play|pause)/mute - HYPER Media navigation. Next/prev track Key codes are stored in `uint16_t encoder_actions[2][9]` * Clean up; added combos Combos: - CV: Copy - XC: Cut - ZV: Paste - QP: KC_SLEEP * Fix LEADER_DICTIONARY to be more useful * Add documentation * Minor fixes * Raise TAPPING_TERM * testing * Rearrange modifiers * Fix kc being stored in uint8 instead of uint16 * Update documentation * Clean up * Remove excess comments * Put encoder_actions in progmem --- users/kuchosauronad0/combo.c | 27 +++++++ users/kuchosauronad0/combo.h | 21 +++++ users/kuchosauronad0/config.h | 49 ++++++------ users/kuchosauronad0/encoder.c | 65 +++++++++++++-- users/kuchosauronad0/encoder.h | 1 + users/kuchosauronad0/leader.c | 43 +++++----- users/kuchosauronad0/readme.md | 128 +++++++++++++++++++++++------- users/kuchosauronad0/rules.mk | 3 + users/kuchosauronad0/tap_dances.c | 6 +- 9 files changed, 254 insertions(+), 89 deletions(-) create mode 100644 users/kuchosauronad0/combo.c create mode 100644 users/kuchosauronad0/combo.h diff --git a/users/kuchosauronad0/combo.c b/users/kuchosauronad0/combo.c new file mode 100644 index 000000000000..b4e8e84ae51a --- /dev/null +++ b/users/kuchosauronad0/combo.c @@ -0,0 +1,27 @@ +#include "combo.h" + +void process_combo_event(uint8_t combo_index, bool pressed){ + switch(combo_index) { + case ZV_COPY: + if (pressed) { + tap_code16(LCTL(KC_C)); + } + break; + case XV_CUT: + if (pressed) { + tap_code16(LCTL(KC_X)); + } + break; + + case CV_PASTE: + if (pressed) { + tap_code16(LCTL(KC_V)); + } + break; + case QP_SLEEP: + if (pressed) { + tap_code16(KC_SYSTEM_SLEEP); + } + break; + } +} diff --git a/users/kuchosauronad0/combo.h b/users/kuchosauronad0/combo.h new file mode 100644 index 000000000000..e2ff09ab5a06 --- /dev/null +++ b/users/kuchosauronad0/combo.h @@ -0,0 +1,21 @@ +#pragma once +#include "quantum.h" +enum combo_events { + ZV_COPY, + XV_CUT, + CV_PASTE, + QP_SLEEP +}; + +const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_V, COMBO_END}; +const uint16_t PROGMEM cut_combo[] = {KC_X, KC_V, COMBO_END}; +const uint16_t PROGMEM paste_combo[] = {KC_C, KC_V, COMBO_END}; +const uint16_t PROGMEM sleep_combo[] = {KC_Q, KC_P, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + [ZV_COPY] = COMBO_ACTION(copy_combo), + [XV_CUT] = COMBO_ACTION(cut_combo), + [CV_PASTE] = COMBO_ACTION(paste_combo), + [QP_SLEEP] = COMBO_ACTION(sleep_combo), +}; + diff --git a/users/kuchosauronad0/config.h b/users/kuchosauronad0/config.h index f543a4fd2578..b2c63c1e0c84 100644 --- a/users/kuchosauronad0/config.h +++ b/users/kuchosauronad0/config.h @@ -1,16 +1,14 @@ #pragma once - #ifdef AUDIO_ENABLE #define AUDIO_CLICKY #define STARTUP_SONG SONG(RICK_ROLL) - #define GOODBYE_SONG SONG(SONIC_RING) + #define GOODBYE_SONG SONG(SONIC_RING) #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ SONG(COLEMAK_SOUND), \ SONG(DVORAK_SOUND), \ SONG(OVERWATCH_THEME) \ } - #define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f // #ifdef RGBLIGHT_ENABLE // #define NO_MUSIC_MODE @@ -19,13 +17,11 @@ // #undef NOTE_REST // #define NOTE_REST 1.00f // #endif // !__arm__ - -#define UNICODE_SONG_OSX SONG(RICK_ROLL) -#define UNICODE_SONG_LNX SONG(RICK_ROLL) -#define UNICODE_SONG_WIN SONG(RICK_ROLL) -#define UNICODE_SONG_BSD SONG(RICK_ROLL) -#define UNICODE_SONG_WINC SONG(RICK_ROLL) - + #define UNICODE_SONG_OSX SONG(RICK_ROLL) + #define UNICODE_SONG_LNX SONG(RICK_ROLL) + #define UNICODE_SONG_WIN SONG(RICK_ROLL) + #define UNICODE_SONG_BSD SONG(RICK_ROLL) + #define UNICODE_SONG_WINC SONG(RICK_ROLL) #endif // !AUDIO_ENABLE #ifdef RGBLIGHT_ENABLE @@ -48,7 +44,19 @@ #define QMK_KEYS_PER_SCAN 4 #endif // !QMK_KEYS_PER_SCAN +#if defined(LEADER_ENABLE) + #define LEADER_PER_KEY_TIMING + #define LEADER_TIMEOUT 250 +#endif // !LEADER_ENABLE + +#if defined(COMBO_ENABLE) + #define COMBO_COUNT 4 + #define COMBO_TERM 150 +#endif // !COMBO_ENABLE +#if defined(NKRO_ENABLE) + #define FORCE_NKRO +#endif // !NKRO_ENABLE // this makes it possible to do rolling combos (zx) with keys that // convert to other keys on hold (z becomes ctrl when you hold it, @@ -59,8 +67,6 @@ //#define TAPPING_FORCE_HOLD //#define RETRO_TAPPING -#define FORCE_NKRO - #ifndef TAPPING_TOGGLE #define TAPPING_TOGGLE 1 #endif @@ -68,26 +74,17 @@ #ifdef TAPPING_TERM #undef TAPPING_TERM #endif // !TAPPING_TERM -#if defined(KEYBOARD_ergodox_ez) +#if defined(KEYBOARD_handwired_kuchosauronad0_planckenstein) #define TAPPING_TERM 185 -#elif defined(KEYBOARD_crkbd) +#elif defined(KEYBOARD_c39) #define TAPPING_TERM 200 #else - #define TAPPING_TERM 150 + #define TAPPING_TERM 180 #endif -// Disable action_get_macro and fn_actions, since we don't use these -// and it saves on space in the firmware. -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #define TAP_CODE_DELAY 5 -// Enable Leader key -#if defined(LEADER_ENABLE) - #define LEADER_PER_KEY_TIMING - #define LEADER_TIMEOUT 250 -#endif // !LEADER_ENABLE +#define MACRO_TIMER 5 + -#define MACRO_TIMER 5 diff --git a/users/kuchosauronad0/encoder.c b/users/kuchosauronad0/encoder.c index 1b9b2cb12f7f..06b7b51233b1 100644 --- a/users/kuchosauronad0/encoder.c +++ b/users/kuchosauronad0/encoder.c @@ -1,10 +1,63 @@ #include "encoder.h" - void encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_1); - } else { - tap_code(KC_0); + static uint16_t kc; + uint8_t temp_mod = get_mods(); + if (index == 0) { /* first encoder */ + if (clockwise) { + //if (temp_mod & MOD_BIT(KC_HYPR)){ // TODO: not how this works, only registers CTRL + if ((temp_mod & MOD_MASK_CTRL) && (temp_mod & MOD_MASK_SHIFT) && (temp_mod & MOD_MASK_ALT) && (temp_mod & MOD_MASK_GUI)) { // HYPER + kc = encoder_actions[0][8]; + } else if ( (temp_mod & MOD_MASK_SHIFT) && (temp_mod & MOD_MASK_ALT) ) { // ALT+SHIFT + kc = encoder_actions[0][7]; + } else if ( (temp_mod & MOD_MASK_SHIFT) && (temp_mod & MOD_MASK_CTRL) ) { // CTRL+SHIFT + kc = encoder_actions[0][6]; + } else if ( (temp_mod & MOD_MASK_CTRL) && (temp_mod & MOD_MASK_ALT) ) { // CTRL+ALT + kc = encoder_actions[0][5]; + } else if (temp_mod & MOD_MASK_GUI) { // GUI + kc = encoder_actions[0][4]; + } else if (temp_mod & MOD_MASK_SHIFT) { // SHIFT + kc = encoder_actions[0][3]; + } else if (temp_mod & MOD_MASK_ALT) { // ALT + kc = encoder_actions[0][2]; + } else if (temp_mod & MOD_MASK_CTRL) { // CTRL + kc = encoder_actions[0][1]; + } else { // None + kc = encoder_actions[0][0]; + } + } else { // Counter Clockwise + if ((temp_mod & MOD_MASK_CTRL) && (temp_mod & MOD_MASK_SHIFT) && (temp_mod & MOD_MASK_ALT) && (temp_mod & MOD_MASK_GUI)) { // HYPER + kc = encoder_actions[1][8]; + } else if ( (temp_mod & MOD_MASK_SHIFT) && (temp_mod & MOD_MASK_ALT) ) { // ALT+SHIFT + kc = encoder_actions[1][7]; + } else if ( (temp_mod & MOD_MASK_SHIFT) && (temp_mod & MOD_MASK_CTRL) ) { // CTRL+SHIFT + kc = encoder_actions[1][6]; + } else if ( (temp_mod & MOD_MASK_CTRL) && (temp_mod & MOD_MASK_ALT) ) { // CTRL+ALT + kc = encoder_actions[1][5]; + } else if (temp_mod & MOD_MASK_GUI) { // GUI + kc = encoder_actions[1][4]; + } else if (temp_mod & MOD_MASK_SHIFT) { // SHIFT + kc = encoder_actions[1][3]; + } else if (temp_mod & MOD_MASK_ALT) { // ALT + kc = encoder_actions[1][2]; + } else if (temp_mod & MOD_MASK_CTRL) { // CTRL + kc = encoder_actions[1][1]; + } else { // None + kc = encoder_actions[1][0]; + } + } + clear_mods(); + tap_code16(kc); + set_mods(temp_mod); + } else if (index == 1){ // second Encoder + if (clockwise) { + tap_code(KC_0); + } else{ + tap_code(KC_1); + } } } - +const uint16_t PROGMEM encoder_actions[][9] = { \ +// None CTRL ALT SHIFT GUI CTRL+ALT CTRL+SHFT ALT+SHFT HYPER + { KC_PGDN, KC_DOWN, KC_AUDIO_VOL_UP, KC_END, KC_WWW_FORWARD, KC_AUDIO_MUTE, KC_RIGHT, LSFT(KC_TAB), KC_MEDIA_NEXT_TRACK}, \ + { KC_PGUP, KC_UP, KC_AUDIO_VOL_DOWN, KC_HOME, KC_WWW_BACK, KC_MEDIA_PLAY_PAUSE, KC_LEFT, KC_TAB, KC_MEDIA_PREV_TRACK} +}; diff --git a/users/kuchosauronad0/encoder.h b/users/kuchosauronad0/encoder.h index 078989d52d6a..2610c9677aa0 100644 --- a/users/kuchosauronad0/encoder.h +++ b/users/kuchosauronad0/encoder.h @@ -1,3 +1,4 @@ #pragma once #include "quantum.h" +const uint16_t PROGMEM encoder_actions[][9]; void encoder_update_user(uint8_t index, bool clockwise); diff --git a/users/kuchosauronad0/leader.c b/users/kuchosauronad0/leader.c index 611b70074c77..58935abb3c4e 100644 --- a/users/kuchosauronad0/leader.c +++ b/users/kuchosauronad0/leader.c @@ -20,12 +20,9 @@ void matrix_scan_user(void){ LEADER_DICTIONARY() { leading = false; leader_end(); - // Q is for TMUX - // Z is for OS related things - // other single key sequences are mostly for terminals and vim SEQ_ONE_KEY(KC_W) { - // Vim + Tmux Macro, when in command mode in vim: write to file, change to the other pane in the current session and repeat the last command + // vim/tmux: Use in command mode in vim: write to file, switch tmux pane in the current session window and repeat the last command SEND_STRING(":w" SS_TAP(X_ENTER)); tmux_pane_switch_repeat(); } @@ -36,42 +33,38 @@ void matrix_scan_user(void){ } SEQ_ONE_KEY(KC_A) { - // Send the Tmux Prefix and press 'right' arrow + // tmux: Send the prefix and press 'right' arrow tmux_prefix(); tap_code(KC_RIGHT); } SEQ_TWO_KEYS(KC_T, KC_T) { - // Send the Tmux Prefix to a nested session + // tmux: Send the prefix to a nested session tmux_prefix(); tmux_prefix(); } - SEQ_TWO_KEYS(KC_Q, KC_A) { - // Switch pane and repeat last action + SEQ_TWO_KEYS(KC_T, KC_R) { + // tmux: Switch pane and repeat last action tmux_pane_switch_repeat(); } - SEQ_TWO_KEYS(KC_Z, KC_P){ - // Press windows key, send string 'plex' and press enter - register_code(KC_LGUI); - register_code(KC_S); - unregister_code(KC_S); - - unregister_code(KC_LGUI); - SEND_STRING("plex"); - tap_code(KC_ENTER); + SEQ_TWO_KEYS(KC_V, KC_Z){ + // vim: Zoom pane + tap_code16(LCTL(KC_W)); + tap_code16(LSFT(KC_BSLS)); } - SEQ_TWO_KEYS(KC_Z, KC_F) { - // Open a search - register_code(KC_LGUI); - register_code(KC_S); - unregister_code(KC_S); - unregister_code(KC_LGUI); + SEQ_TWO_KEYS(KC_V, KC_R) { + // vim: Substitute and place cursor + SEND_STRING(":%s///g" SS_TAP(X_LEFT)); + tap_code(KC_LEFT); + tap_code(KC_LEFT); } - SEQ_TWO_KEYS(KC_Z, KC_Z) { - SEND_STRING("https://start.duckduckgo.com"SS_TAP(X_ENTER)); + SEQ_TWO_KEYS(KC_V, KC_T) { + // vim: move current pane to new tab + tap_code16(LCTL(KC_W)); + tap_code16(LSFT(KC_T)); } SEQ_THREE_KEYS(KC_BSPC, KC_BSPC, KC_BSPC){ diff --git a/users/kuchosauronad0/readme.md b/users/kuchosauronad0/readme.md index 8211dc189af8..b577eedb7029 100644 --- a/users/kuchosauronad0/readme.md +++ b/users/kuchosauronad0/readme.md @@ -1,10 +1,19 @@ -# qmk userspace for kuchosauronad0 -Thanks to drashna and everyone else in the qmk_firmware/users/ directory :) - -# Overview - -## Keyboard Layout Templates -This borrows from @jola5's "Not quite neo" code. This allows me to maintain blocks of keymaps in the userspace, so that I can modify the userspace, and this is reflected in all of the keyboards that use it, at once. +# Table of Contents +1. [Overview](#overview)[[documentation](https://docs.qmk.fm/#/feature_userspace)] +2. [Keyboard Layout Templates](#keyboard-layout-templates) +3. [Custom Keycodes](#custom-keycodes) [[documentation](https://docs.qmk.fm/#/feature_macros?id=the-new-way-send_string-amp-process_record_user)] +4. [Tap Dances](#tap-dances) [[documentation](https://docs.qmk.fm/#/feature_tap_dance)] +5. [Encoders](#encoders) [[documentation](https://docs.qmk.fm/#/feature_encoders)] +6. [Leader Key](#leader-key) [[documentation](https://docs.qmk.fm/#/feature_leader_key)] +7. [Unicode](#unicode) [[documentation](https://docs.qmk.fm/#/feature_unicode)] +8. [Combo Keys](#combo-keys) [[documentation](https://docs.qmk.fm/#/feature_combo)] +9. [Secret Macros](#secret-macros) [[documentation](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/readme_secrets.md)] + +# [Overview](#overview) +Thanks to [drashna](https://github.com/drashna) and the people of the discord server and everyone else in the qmk_firmware/users/ directory :) + +## [Keyboard Layout Templates](#keyboard-layout-temple) +This borrows from [jola5](https://github.com/jola5)'s "Not quite neo" code. The code of the userspace is shared between all keyboards, so that one can maintain functionality of all keyboards at once by modifying a few files in a central location. This makes adding tap/hold mods, or other special keycodes or functions to all keyboards super easy, as it's done to all of them at once. @@ -14,45 +23,107 @@ The caveat here is that the keymap needs a processor/wrapper, as it doesn't like Once that's been done and you've switched the keymaps to use the "wrapper", it will read the substitution blocks just fine. -Credit goes to @jola5 for first implementing this awesome idea. +Credit goes to [jola5](https://github.com/jola5) for first implementing this awesome idea. -## Custom Keycodes +## [Custom Keycodes](#custom-keycodes) Declared in `process_records.h` and `template.h` and defined in `process_record_user` in template.c -## Tap Dances -Set `TAP_DANCE_ENABLE = yes` in rules.mk. See file tap_dances.{c,h} +## [Tap Dances](#tap-dances) +To enable set `TAP_DANCE_ENABLE = yes` in *rules.mk*. See file *tap_dances.{c,h}* + +TODO: Command-line movement stuff is a pain when typing normally + +TODO: Make use of `TD_SPC` and `TD_QT{1..3}` + +## [Leader Key](#leader-key) +To enable set `LEADER_ENABLE = yes` in file *rules.mk* + +|LEADER_DICTIONARY()|program| description | +|---|---|---| +| W |vim/tmux| save file, switch pane and repeat last command | +| T |tmux| send default prefix | +| A |tmux| switch pane| +|T + T|tmux| send default prefix to a nested session | +|T + R|tmux| switch pane and repeat last command | +|V + Z|vim | zoom current split| +|V + R|vim | search and replace| +|V + T|vim | move current split to its own tab| +|3x Backspace|keyboard| Reset Keyboard | + +`LEADER_DICTIONARY()` is defined in *leader.c* + +## [Combo Keys](#combo-keys) +To enable set `COMBO_ENABLE = yes` in file *rules.mk*. +Number of combos and timeout are defined in *config.h* + +Press key chord to use. + +|Combo|description | +|---|---| +| CV | Paste | +| XC | Cut | +| ZV | Copy | +| QP | KC_SLEEP | -## Leader Key -Set `LEADER_ENABLE = yes` in rules.mk. -TODO: document tmux / vim / os +Combos are defined in *combo.h* and *combo.c* + +## [Unicode](#unicode) +To enable set `UNICODE_ENABLE = yes` or `UNICODEMAP_ENABLE = yes` in file *rules.mk* + +## [Encoders](#encoders) +To enable set `ENCODER_ENABLE = yes` in *rules.mk*. + +In the keyboard's *config.h* adjust according to your keyboard: + +```c +// Example ProMicro +#define ENCODERS_PAD_A { F4 } //PIN A3 +#define ENCODERS_PAD_B { F5 } //PIN A2 +``` + +Check the [documentation](https://docs.qmk.fm/#/feature_encoders) for more information +The first rotary encoder is configured such as: + +|Modifier|description| +|---|---| +| None | General navigation. Page up/down | +| SHIFT | Fast navigation. Home/end | +| CTRL | Vertical navigation. Up/down | +| CTRL+SHIFT | Horizontal navigation. Left/right | +| ALT | Audio volume control. | +| GUI | Browser navigation(windows). Forward/backward | +| ALT+SHIFT | Form navigation. Tab up/down | +| ALT+CTRL | Media control. (Play|pause)/mute | +| HYPER | Media navigation. Next/prev track | + +Key codes are stored as `uint16_t encoder_actions[2][9]` in *encoder.c* -## Unicode -TODO: Set `idk` in `idc` ## Diablo Layer Currently not in use. +[Back to Top](#table-of-contents) -# Secret Macros -Set `NO_SECRETS = yes` in rules.mk. +# [Secret Macros](#secret-macros) +To enable set `NO_SECRETS = yes` in *rules.mk*. With help from gitter and Colinta, this adds the ability to add hidden macros from other users. -First, I have several files that are hidden/excluded from Git/GitHub. These contain everything needed for the macros. To hide these files, open `.git/info/exclude` and add `secrets.c` and `secrets.h` to that file, below the comments. +First, I have several files that are hidden/excluded from Git/GitHub. These contain everything needed for the macros. To hide these files, open *.git/info/exclude* and add `secrets.c` and `secrets.h` to that file, below the comments. -And this requires `KC_SECRET_1` through `KC_SECRET_5` to be defined in your `.h` file to define the keycodes for the new macros. +And this requires `KC_SECRET_1` through `KC_SECRET_5` to be defined in your *.h* file to define the keycodes for the new macros. ### .git/info/exclude -``` +```console # git ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): # *.[oa] # *~ -/users/kuchosauronad0/secrets.c -/users/kuchosauronad0/secrets.h +/users//secrets.c +/users//secrets.h ``` Then you can create these files: @@ -60,7 +131,7 @@ Then you can create these files: ### secrets.c ```c -#include "kuchosauronad0.h" // replace with your keymap's "h" file, or whatever file stores the keycodes +#include ".h" // replace with your keymap's "h" file, or whatever file stores the keycodes #if (__has_include("secrets.h") && !defined(NO_SECRETS)) #include "secrets.h" @@ -106,7 +177,7 @@ Replacing the strings with the codes that you need. ### name.c -In the `.c` file, you will want to add this to the top: +In the *.c* file, you will want to add this to the top: ```c __attribute__ ((weak)) @@ -126,7 +197,7 @@ And then, in the `process_record_user` function, assuming you have `return proce ### rules.mk -Here, you want your `/users//rules.mk` file to "detect" the existence of the `secrets.c` file, and only add it if the file exists. To do so, add this block: +Here, you want your */users//rules.mk* file to "detect" the existence of the *secrets.c* file, and only add it if the file exists. To do so, add this block: ```make ifneq ("$(wildcard $(USER_PATH)/secrets.c)","") @@ -134,7 +205,7 @@ ifneq ("$(wildcard $(USER_PATH)/secrets.c)","") endif ``` -Additionally, if you want to make sure that you can disable the function without messing with the file, you need to add this to your `/users//rules.mk`, so that it catches the flag: +Additionally, if you want to make sure that you can disable the function without messing with the file, you need to add this to your */users//rules.mk*, so that it catches the flag: ```make ifeq ($(strip $(NO_SECRETS)), yes) @@ -142,4 +213,5 @@ ifeq ($(strip $(NO_SECRETS)), yes) endif ``` -Then, if you run `make keyboard:name NO_SECRETS=yes`, it will default to the test strings in your `.c` file, rather than reading from your file. +Then, if you run `make keyboard:name NO_SECRETS=yes`, it will default to the test strings in your *.c* file, rather than reading from your file. +[Back to Top](#table-of-contents) diff --git a/users/kuchosauronad0/rules.mk b/users/kuchosauronad0/rules.mk index 8610a9b7a1c7..ad13083732a7 100644 --- a/users/kuchosauronad0/rules.mk +++ b/users/kuchosauronad0/rules.mk @@ -14,6 +14,9 @@ endif ifeq ($(strip $(ENCODER_ENABLE)), yes) SRC += encoder.c endif +ifeq ($(strip $(COMBO_ENABLE)), yes) + SRC += combo.c +endif ifeq ($(strip $(LEADER_ENABLE)), yes) SRC += leader.c diff --git a/users/kuchosauronad0/tap_dances.c b/users/kuchosauronad0/tap_dances.c index 4ebb5dc7393a..7bdd3d33759b 100644 --- a/users/kuchosauronad0/tap_dances.c +++ b/users/kuchosauronad0/tap_dances.c @@ -1,14 +1,12 @@ #include "tap_dances.h" void td_parenthesis (qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { - SEND_STRING ("\("); +// SEND_STRING ("\("); + tap_code(KC_QUOT); reset_tap_dance (state); } else if (state->count == 2) { SEND_STRING("()" SS_TAP(X_LEFT)); - //tap_code(KC_2); - //tap_code(KC_3); - //tap_code(KC_LEFT); reset_tap_dance (state); } else if (state->count == 3) { From 70329b4fbb43078cc287203f1e786b5074a8fef9 Mon Sep 17 00:00:00 2001 From: Iain King Date: Sat, 24 Aug 2019 17:02:38 +0100 Subject: [PATCH 030/416] [Keymap] ISO keymap for TADA68 with programming in mind (#6597) * Layout with better use of navigation keys * Update keyboards/tada68/keymaps/onelivesleft/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> --- .../tada68/keymaps/onelivesleft/config.h | 4 ++ .../tada68/keymaps/onelivesleft/keymap.c | 48 +++++++++++++++++++ .../tada68/keymaps/onelivesleft/readme.md | 38 +++++++++++++++ .../tada68/keymaps/onelivesleft/rules.mk | 18 +++++++ 4 files changed, 108 insertions(+) create mode 100644 keyboards/tada68/keymaps/onelivesleft/config.h create mode 100644 keyboards/tada68/keymaps/onelivesleft/keymap.c create mode 100644 keyboards/tada68/keymaps/onelivesleft/readme.md create mode 100644 keyboards/tada68/keymaps/onelivesleft/rules.mk diff --git a/keyboards/tada68/keymaps/onelivesleft/config.h b/keyboards/tada68/keymaps/onelivesleft/config.h new file mode 100644 index 000000000000..bada95bea553 --- /dev/null +++ b/keyboards/tada68/keymaps/onelivesleft/config.h @@ -0,0 +1,4 @@ +#pragma once + +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 6 diff --git a/keyboards/tada68/keymaps/onelivesleft/keymap.c b/keyboards/tada68/keymaps/onelivesleft/keymap.c new file mode 100644 index 000000000000..f99bff313733 --- /dev/null +++ b/keyboards/tada68/keymaps/onelivesleft/keymap.c @@ -0,0 +1,48 @@ +#include QMK_KEYBOARD_H + +#define _BL 0 +#define _FL 1 + +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 |Del | + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |CAPS| + * |------------------------------------------------------- -----| + * |FN | A| S| D| F| G| H| J| K| L| ;| '| #|Entr|Home| + * |----------------------------------------------------------------| + * |Shift| \ | Z| X| C| V| B| N| M| ,| .| /|Rshift|Up|End| + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + [_BL] = LAYOUT_iso( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \ + KC_TAB, 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_CAPS, \ + 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_NUHS, KC_ENT, KC_HOME, \ + 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_RSFT, KC_UP, KC_END, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* Keymap _FL1: Function Layer 1 + * ,----------------------------------------------------------------. + * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete| Ins| + * |----------------------------------------------------------------| + * | | | ↑ | | | | | | | | Prnt | | | |Break| + * |------------------------------------------------------- -----| + * | | ← | ↓ | → | | | | | | | | ` | | |PgUp| + * |----------------------------------------------------------------| + * | | | | | L+|LED| L-| | Mut| V-|V+| | MsBtn|Up|PgDn| + * |----------------------------------------------------------------| + * | | | | | | |MsBn| Lt| Dn| Rt | + * `----------------------------------------------------------------' + */ + [_FL] = LAYOUT_iso( + _______, 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_INS, \ + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, KC_BRK, \ + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_GRV, _______, _______, KC_PGUP, \ + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_BTN2, KC_MS_U, KC_PGDN, \ + _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R + ), +}; diff --git a/keyboards/tada68/keymaps/onelivesleft/readme.md b/keyboards/tada68/keymaps/onelivesleft/readme.md new file mode 100644 index 000000000000..49f1013d2838 --- /dev/null +++ b/keyboards/tada68/keymaps/onelivesleft/readme.md @@ -0,0 +1,38 @@ +# onelivesleft TADA68 layout for ISO UK + +This is a layout designed with programming in mind. It's a modification of the `iso-uk` layout, and has been tested on a TADA68 purchased from kbdfans in May 2019. The physical key layout includes the "double height" iso Enter key and the "short" Left Shift along side the iso Backslash key. [See this keyboard-layout-editor.com Gist](http://www.keyboard-layout-editor.com/#/gists/acf0f32f7ea0d0ed35c901663ca47919) + +## Layout features: + +### Navigation column, from top-right down + +Bare: +* Delete +* Capslock +* Home +* End + +With FN: +* Insert +* Break +* Page Up +* Page Down + +### Mouse +* Fn + cursors to move +* Fn + Right Ctrl for left click +* Fn + Right Shift for right click + +### Misc +* Capslock key used as a second Fn key (for easy one-handed alt+F4 etc.) +* Fn + ': ` +* Fn + P: Printscreen + + +## Installation + +Please see the [tada68 readme](../../readme.md) using the following command + +``` +make tada68:onelivesleft:flashbin +``` diff --git a/keyboards/tada68/keymaps/onelivesleft/rules.mk b/keyboards/tada68/keymaps/onelivesleft/rules.mk new file mode 100644 index 000000000000..53644093d6c4 --- /dev/null +++ b/keyboards/tada68/keymaps/onelivesleft/rules.mk @@ -0,0 +1,18 @@ +# 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 = 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. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + From 2c8d8be7187e800cfd465674449255b25e5d02b9 Mon Sep 17 00:00:00 2001 From: Danny Date: Sat, 24 Aug 2019 12:06:27 -0400 Subject: [PATCH 031/416] [Keyboard] Add JNAO keyboard (#6598) * Add JNAO keyboard * Use layout macro for default_4x12 * Add bakingpy keymap * Add info.json data * Remove bakingpy keymap from jnao, add ortho_4x12 layout fetching * Clear up default keymaps --- keyboards/jnao/config.h | 52 ++++++ keyboards/jnao/info.json | 125 ++++++++++++++ keyboards/jnao/jnao.c | 1 + keyboards/jnao/jnao.h | 32 ++++ keyboards/jnao/keymaps/default/keymap.c | 155 ++++++++++++++++++ keyboards/jnao/keymaps/default_4x12/keymap.c | 150 +++++++++++++++++ keyboards/jnao/readme.md | 14 ++ keyboards/jnao/rules.mk | 47 ++++++ .../community/ortho_4x12/bakingpy/keymap.c | 44 +++-- .../community/ortho_4x12/bakingpy/rules.mk | 2 +- 10 files changed, 605 insertions(+), 17 deletions(-) create mode 100644 keyboards/jnao/config.h create mode 100644 keyboards/jnao/info.json create mode 100644 keyboards/jnao/jnao.c create mode 100644 keyboards/jnao/jnao.h create mode 100644 keyboards/jnao/keymaps/default/keymap.c create mode 100644 keyboards/jnao/keymaps/default_4x12/keymap.c create mode 100644 keyboards/jnao/readme.md create mode 100644 keyboards/jnao/rules.mk diff --git a/keyboards/jnao/config.h b/keyboards/jnao/config.h new file mode 100644 index 000000000000..f14aa4bb14bf --- /dev/null +++ b/keyboards/jnao/config.h @@ -0,0 +1,52 @@ +/* +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 . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x1337 +#define PRODUCT_ID 0x6017 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Maple Computing +#define PRODUCT JNAO Keyboard +#define DESCRIPTION A no-frills ortholinear keyboard + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 12 + +#define MATRIX_ROW_PINS { E6, F0, F5, F6, F7 } +#define MATRIX_COL_PINS { F1, F4, B1, B2, B3, B7, D1, D2, D4, D6, D7, B4 } +#define UNUSED_PINS + +#define BACKLIGHT_PIN D0 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 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 diff --git a/keyboards/jnao/info.json b/keyboards/jnao/info.json new file mode 100644 index 000000000000..177ae41571ca --- /dev/null +++ b/keyboards/jnao/info.json @@ -0,0 +1,125 @@ +{ + "keyboard_name": "JNAO", + "url": "", + "maintainer": "That-Canadian", + "width": 12, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + {"label":"`", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"Backspace", "x":11, "y":0}, + {"label":"Tab", "x":0, "y":1}, + {"label":"Q", "x":1, "y":1}, + {"label":"W", "x":2, "y":1}, + {"label":"E", "x":3, "y":1}, + {"label":"R", "x":4, "y":1}, + {"label":"T", "x":5, "y":1}, + {"label":"Y", "x":6, "y":1}, + {"label":"U", "x":7, "y":1}, + {"label":"I", "x":8, "y":1}, + {"label":"O", "x":9, "y":1}, + {"label":"P", "x":10, "y":1}, + {"label":"Delete", "x":11, "y":1}, + {"label":"Esc", "x":0, "y":2}, + {"label":"A", "x":1, "y":2}, + {"label":"S", "x":2, "y":2}, + {"label":"D", "x":3, "y":2}, + {"label":"F", "x":4, "y":2}, + {"label":"G", "x":5, "y":2}, + {"label":"H", "x":6, "y":2}, + {"label":"J", "x":7, "y":2}, + {"label":"K", "x":8, "y":2}, + {"label":"L", "x":9, "y":2}, + {"label":";", "x":10, "y":2}, + {"label":"'", "x":11, "y":2}, + {"label":"Shift", "x":0, "y":3}, + {"label":"Z", "x":1, "y":3}, + {"label":"X", "x":2, "y":3}, + {"label":"C", "x":3, "y":3}, + {"label":"V", "x":4, "y":3}, + {"label":"B", "x":5, "y":3}, + {"label":"N", "x":6, "y":3}, + {"label":"M", "x":7, "y":3}, + {"label":",", "x":8, "y":3}, + {"label":".", "x":9, "y":3}, + {"label":"/", "x":10, "y":3}, + {"label":"Enter", "x":11, "y":3}, + {"label":"Fn", "x":0, "y":4}, + {"label":"Ctrl", "x":1, "y":4}, + {"label":"Alt", "x":2, "y":4}, + {"label":"Meta", "x":3, "y":4}, + {"label":"Lower", "x":4, "y":4}, + {"label":"Space", "x":5, "y":4}, + {"label":"Space", "x":6, "y":4}, + {"label":"Raise", "x":7, "y":4}, + {"label":"Left", "x":8, "y":4}, + {"label":"Down", "x":9, "y":4}, + {"label":"Up", "x":10, "y":4}, + {"label":"Right", "x":11, "y":4} + ] + }, + "LAYOUT_ortho_4x12": { + "layout": [ + {"label":"Tab", "x":0, "y":0}, + {"label":"Q", "x":1, "y":0}, + {"label":"W", "x":2, "y":0}, + {"label":"E", "x":3, "y":0}, + {"label":"R", "x":4, "y":0}, + {"label":"T", "x":5, "y":0}, + {"label":"Y", "x":6, "y":0}, + {"label":"U", "x":7, "y":0}, + {"label":"I", "x":8, "y":0}, + {"label":"O", "x":9, "y":0}, + {"label":"P", "x":10, "y":0}, + {"label":"Delete", "x":11, "y":0}, + {"label":"Esc", "x":0, "y":1}, + {"label":"A", "x":1, "y":1}, + {"label":"S", "x":2, "y":1}, + {"label":"D", "x":3, "y":1}, + {"label":"F", "x":4, "y":1}, + {"label":"G", "x":5, "y":1}, + {"label":"H", "x":6, "y":1}, + {"label":"J", "x":7, "y":1}, + {"label":"K", "x":8, "y":1}, + {"label":"L", "x":9, "y":1}, + {"label":";", "x":10, "y":1}, + {"label":"'", "x":11, "y":1}, + {"label":"Shift", "x":0, "y":2}, + {"label":"Z", "x":1, "y":2}, + {"label":"X", "x":2, "y":2}, + {"label":"C", "x":3, "y":2}, + {"label":"V", "x":4, "y":2}, + {"label":"B", "x":5, "y":2}, + {"label":"N", "x":6, "y":2}, + {"label":"M", "x":7, "y":2}, + {"label":",", "x":8, "y":2}, + {"label":".", "x":9, "y":2}, + {"label":"/", "x":10, "y":2}, + {"label":"Enter", "x":11, "y":2}, + {"label":"Fn", "x":0, "y":3}, + {"label":"Ctrl", "x":1, "y":3}, + {"label":"Alt", "x":2, "y":3}, + {"label":"Meta", "x":3, "y":3}, + {"label":"Lower", "x":4, "y":3}, + {"label":"Space", "x":5, "y":3}, + {"label":"Space", "x":6, "y":3}, + {"label":"Raise", "x":7, "y":3}, + {"label":"Left", "x":8, "y":3}, + {"label":"Down", "x":9, "y":3}, + {"label":"Up", "x":10, "y":3}, + {"label":"Right", "x":11, "y":3} + ] + } + } +} diff --git a/keyboards/jnao/jnao.c b/keyboards/jnao/jnao.c new file mode 100644 index 000000000000..8a49c747a19a --- /dev/null +++ b/keyboards/jnao/jnao.c @@ -0,0 +1 @@ +#include "jnao.h" diff --git a/keyboards/jnao/jnao.h b/keyboards/jnao/jnao.h new file mode 100644 index 000000000000..357a025f9189 --- /dev/null +++ b/keyboards/jnao/jnao.h @@ -0,0 +1,32 @@ +#pragma once + +#include "quantum.h" + +#define LAYOUT_ortho_5x12( \ + k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012, \ + k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, \ + k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312, \ + k41, k42, k43, k44, k45, k46, k47, k48, k49, k410, k411, k412 \ +) \ +{ \ + { k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012 }, \ + { k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112 }, \ + { k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212 }, \ + { k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312 }, \ + { k41, k42, k43, k44, k45, k46, k47, k48, k49, k410, k411, k412 } \ +} + +#define LAYOUT_ortho_4x12( \ + k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012, \ + k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, \ + k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312 \ +) \ +{ \ + {k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012}, \ + {k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112}, \ + {k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212}, \ + {k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312}, \ + {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO} \ +} diff --git a/keyboards/jnao/keymaps/default/keymap.c b/keyboards/jnao/keymaps/default/keymap.c new file mode 100644 index 000000000000..04f410057e56 --- /dev/null +++ b/keyboards/jnao/keymaps/default/keymap.c @@ -0,0 +1,155 @@ +#include QMK_KEYBOARD_H + +enum layer_names { + _QWERTY, + _LOWER, + _RAISE, + _FUNCTION, + _ADJUST, +}; + +enum jnao_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, +}; + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Func | A | S | D | F | G | H | J | K | L | ; | Enter| + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / | ' | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | ` | GUI | ALT |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_ortho_5x12( \ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_BSPC, \ + MO(_FUNCTION), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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_QUOT, \ + KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } |Enter | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Mute | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | |Lower | Bksp |Raise | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_ortho_5x12( \ + KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \ + KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, \ + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE, _______, KC_PIPE, \ + _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | 4 | 5 | 6 | + | F5 | F6 | - | = | [ | ] |Enter | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * |Enter | 7 | 8 | 9 | - | F11 | F12 |ISO # |ISO / | Mute | | \ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | , | 0 | . |Lower | Bksp |Raise | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_ortho_5x12( \ + 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \ + _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, \ + KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, \ + _______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ +), + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | ESC | F1 | F2 | F3 |ALTF4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Taskmg| | | | | | | | | | |caltde| + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty| | | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | |RESET | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_ortho_5x12( \ + KC_ESC, KC_F1, KC_F2, KC_F3, LALT(KC_F4), KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \ + TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL, \ + _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \ + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET \ +), + +/* Function + * ,-----------------------------------------------------------------------------------. + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | up | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | Left | Down |Right | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Caps | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_FUNCTION] = LAYOUT_ortho_5x12( \ + 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_UP, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, \ + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ +) + + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + 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; + } + return true; +}; diff --git a/keyboards/jnao/keymaps/default_4x12/keymap.c b/keyboards/jnao/keymaps/default_4x12/keymap.c new file mode 100644 index 000000000000..8861a36b23d5 --- /dev/null +++ b/keyboards/jnao/keymaps/default_4x12/keymap.c @@ -0,0 +1,150 @@ +#include QMK_KEYBOARD_H + +enum layer_names { + _QWERTY, + _LOWER, + _RAISE, + _FUNCTION, + _ADJUST, +}; + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE +}; + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Func | A | S | D | F | G | H | J | K | L | ; | Enter| + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / | ' | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | ` | GUI | Alt |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_ortho_4x12( + 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(_FUNCTION), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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_QUOT, + KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | Esc | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } |Enter | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Mute | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | |Lower | Bksp | Bksp |Raise | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_ortho_4x12( + KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE, _______, KC_PIPE, + _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | 4 | 5 | 6 | + | F5 | F6 | - | = | [ | ] |Enter | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * |Enter | 7 | 8 | 9 | - | F11 | F12 |ISO # |ISO / | Mute | | \ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | , | 0 | . |Lower | Bksp | Bksp |Raise | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_ortho_4x12( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, + _______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * |Taskmg| | | | | | | | | | |caltde| + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty| | | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | RESET| + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_ortho_4x12( + TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL, + _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET +), + +/* Function + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | Up | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | Left | Down |Right | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Caps | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_FUNCTION] = LAYOUT_ortho_4x12( + _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; + +#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 music_scale[][2] = SONG(MUSIC_SCALE_SOUND); + +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + 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; + } + return true; +} diff --git a/keyboards/jnao/readme.md b/keyboards/jnao/readme.md new file mode 100644 index 000000000000..08cf10acaa64 --- /dev/null +++ b/keyboards/jnao/readme.md @@ -0,0 +1,14 @@ +JNAO +==== + +An no-frills 5x12 or 4x12 ortholinear keyboard + +Keyboard Maintainer: [That-Canadian](https://github.com/that-canadian) +Hardware Supported: JNAO PCB +Hardware Availability: [SpaceCat](https://spacecat.design) and [Keebio](https://keeb.io/) + +Make example for this keyboard (after setting up your build environment): + + make jnao:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/jnao/rules.mk b/keyboards/jnao/rules.mk new file mode 100644 index 000000000000..396983bc0e38 --- /dev/null +++ b/keyboards/jnao/rules.mk @@ -0,0 +1,47 @@ +# MCU name +MCU = atmega32u4 + + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# atmega32a bootloadHID +BOOTLOADER = atmel-dfu + + +# If you don't know the bootloader type, then you can specify the +# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line +# 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 = 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 +# 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 = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE = no # Audio output on port C6 +FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches +HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) + +LAYOUTS = ortho_5x12 ortho_4x12 +LAYOUTS_HAS_RGB = no diff --git a/layouts/community/ortho_4x12/bakingpy/keymap.c b/layouts/community/ortho_4x12/bakingpy/keymap.c index 71672d051347..eb3b420ee696 100644 --- a/layouts/community/ortho_4x12/bakingpy/keymap.c +++ b/layouts/community/ortho_4x12/bakingpy/keymap.c @@ -2,13 +2,15 @@ extern keymap_config_t keymap_config; -#define _MAC 0 -#define _WINDOWS 1 -#define _TESTMODE 2 -#define _LOWER 3 -#define _RAISE 4 -#define _FKEYS 5 -#define _ADJUST 16 +enum layer_names { + _MAC, + _WINDOWS, + _TESTMODE, + _LOWER, + _RAISE, + _FKEYS, + _ADJUST, +}; enum custom_keycodes { MAC = SAFE_RANGE, @@ -17,7 +19,6 @@ enum custom_keycodes { LOWER, RAISE, ADJUST, - PLAY_ALLSTAR, }; #define KC_ KC_TRNS @@ -35,6 +36,22 @@ enum custom_keycodes { #define KC_BL_T BL_TOGG #define KC_RMOD RGB_MOD +#ifndef LAYOUT_kc_ortho_4x12 +#define LAYOUT_kc_ortho_4x12( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \ + ) \ + LAYOUT_ortho_4x12( \ + KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ + KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ + KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ + KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \ + ) + +#endif + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MAC] = LAYOUT_kc_ortho_4x12( @@ -130,28 +147,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void persistent_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 MAC: if (record->event.pressed) { - persistent_default_layer_set(1UL<<_MAC); + set_single_persistent_default_layer(_MAC); } return false; break; case WINDOWS: if (record->event.pressed) { - persistent_default_layer_set(1UL<<_WINDOWS); + set_single_persistent_default_layer(_WINDOWS); } return false; break; case TESTMODE: if (record->event.pressed) { - persistent_default_layer_set(1UL<<_TESTMODE); + set_single_persistent_default_layer(_TESTMODE); } return false; break; diff --git a/layouts/community/ortho_4x12/bakingpy/rules.mk b/layouts/community/ortho_4x12/bakingpy/rules.mk index 17a589cd1d62..0da75e0be464 100644 --- a/layouts/community/ortho_4x12/bakingpy/rules.mk +++ b/layouts/community/ortho_4x12/bakingpy/rules.mk @@ -1,5 +1,5 @@ ifneq ($(LAYOUTS_HAS_RGB), no) - RGBLIGHT_ENABLE = yes + RGBLIGHT_ENABLE = yes endif AUDIO_ENABLE = no ifeq ($(strip $(KEYBOARD)), zlant) From c9c33978ce4a86452503711a580107af13fa947d Mon Sep 17 00:00:00 2001 From: Stefano Date: Sat, 24 Aug 2019 18:08:54 +0200 Subject: [PATCH 032/416] [Keymap] a keymap to "transform" a jj40 info a simil Alpha28, to enjoy its simplicity and power (#6599) --- keyboards/jj40/keymaps/stevexyz/config.h | 45 +++ .../keyboard-layout-editor-raw-data.txt | 4 + keyboards/jj40/keymaps/stevexyz/keymap.c | 292 ++++++++++++++++++ keyboards/jj40/keymaps/stevexyz/readme.md | 20 ++ keyboards/jj40/keymaps/stevexyz/rules.mk | 22 ++ 5 files changed, 383 insertions(+) create mode 100644 keyboards/jj40/keymaps/stevexyz/config.h create mode 100644 keyboards/jj40/keymaps/stevexyz/keyboard-layout-editor-raw-data.txt create mode 100644 keyboards/jj40/keymaps/stevexyz/keymap.c create mode 100644 keyboards/jj40/keymaps/stevexyz/readme.md create mode 100644 keyboards/jj40/keymaps/stevexyz/rules.mk diff --git a/keyboards/jj40/keymaps/stevexyz/config.h b/keyboards/jj40/keymaps/stevexyz/config.h new file mode 100644 index 000000000000..4d4825f9b640 --- /dev/null +++ b/keyboards/jj40/keymaps/stevexyz/config.h @@ -0,0 +1,45 @@ + +// Behaviors That Can Be Configured + +#define TAPPING_TERM 250 + // how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too + +#define PERMISSIVE_HOLD + // makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM +#define IGNORE_MOD_TAP_INTERRUPT + // makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. + +/* + #define TAPPING_TERM_PER_KEY + // enables handling for per key TAPPING_TERM settings + #define RETRO_TAPPING + // tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release + // See Retro Tapping for details + #define TAPPING_TOGGLE 2 + // how many taps before triggering the toggle + #define TAPPING_FORCE_HOLD + // makes it possible to use a dual role key as modifier shortly after having been tapped + // See Hold after tap + // Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) + #define LEADER_TIMEOUT 300 + // how long before the leader key times out + // If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. + #define LEADER_PER_KEY_TIMING + // sets the timer for leader key chords to run on each key press rather than overall + #define LEADER_KEY_STRICT_KEY_PROCESSING + // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. + #define ONESHOT_TIMEOUT 300 + // how long before oneshot times out + #define ONESHOT_TAP_TOGGLE 2 + // how many taps before oneshot toggle is triggered + #define QMK_KEYS_PER_SCAN 4 + // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. + #define COMBO_COUNT 2 + // Set this to the number of combos that you're using in the Combo feature. + #define COMBO_TERM 200 + // how long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. + #define TAP_CODE_DELAY 100 + // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. + #define TAP_HOLD_CAPS_DELAY 80 + // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPSLOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. +*/ diff --git a/keyboards/jj40/keymaps/stevexyz/keyboard-layout-editor-raw-data.txt b/keyboards/jj40/keymaps/stevexyz/keyboard-layout-editor-raw-data.txt new file mode 100644 index 000000000000..0117b5e2ee19 --- /dev/null +++ b/keyboards/jj40/keymaps/stevexyz/keyboard-layout-editor-raw-data.txt @@ -0,0 +1,4 @@ +[{c:"#eeddcc",g:true,a:7},"","","","","","","","","","","",""], +["",{c:"#cccccc",g:false,a:4,fa:[2,1,5,5,8]},"F11\nF1\n!\n1\nQ","F12\nF2\n@\n2\nW","Layer Num\nF3\n#\n3\nE","Layer Light\nF4\n$\n4\nR","\nF5\n%\n5\nT","\nF6\n^\n6\nY","\nF7\n&\n7\nU","\nF8\n*\n8\nI","Layer Mouse\nF9\n(\n9\nO","\nF10\n)\n0\nP",{c:"#eeddcc",g:true,a:7},""], +["",{c:"#cccccc",t:"#000000\n\n\n\n\n\n\n\n\n\n#804020",g:false,a:4,fa:[2,1,5,5,8,0,2,2,0,0,1]},"Caps\n\n\n\nA\n\nEsc\nTab\n\n\nshift",{fa:[2,2,5,5,8,0,2,2,0,0,1]},"\n\n~\n`\nS\n\n\n\n\n\nfn","\n\n_\n-\nD\n\n\n\n\n\nnum",{t:"#000000"},"\n\n+\n=\nF",{t:"#000000\n\n\n\n\n\n\n\n\n\n#804020"},"\n\n{\n[\nG\n\n\n\n\n\n","\n\n}\n]\nH\n\n\n\n\n\n",{t:"#000000"},"\n\n|\n\\\nJ",{t:"#000000\n\n\n\n\n\n\n\n\n\n#804020"},"\n\n:\n;\nK\n\n\n\n\n\nfn","\n\n\"\n'\nL\n\n\n\n\n\nnum",{c:"#eeddcc",f:1,fa:[2,2,5,5,8,0,2,2,0,0,0]},"Ins\n\n\n\n\n\nBS\nDel\n\n\nshift",{t:"#000000",g:true,a:7,f:3},""], +["","",{c:"#cccccc",t:"#000000\n#804020",g:false,a:5,fa:[0,1,0,0,8]},"\nctrl\n\n\nZ","\nalt\n\n\nX",{t:"#000000\n\n\n\n\n\n\n\n\n\n#804020",a:4,fa:[2,1,0,0,8,0,0,0,0,0,1]},"^\n\n\n\nC\n\n\n\n\n\nfn","^\n\n\n\nV\n\n\n\n\n\nnum",{fa:[2,1,5,5,8,0,0,0,0,0,1]},"Prnt Scrn\n\n<\n,\nB\n\n\n\n\n\nshift","Scr Lock\n\n>\n.\nN\n\n\n\n\n\nalt","Paus\n\n?\n/\nM\n\n\n\n\n\nctrl",{t:"#000000\n#804020",a:5},"\nshift",{c:"#eeddcc",t:"#000000",g:true,a:7},"",""] diff --git a/keyboards/jj40/keymaps/stevexyz/keymap.c b/keyboards/jj40/keymaps/stevexyz/keymap.c new file mode 100644 index 000000000000..4045d071092f --- /dev/null +++ b/keyboards/jj40/keymaps/stevexyz/keymap.c @@ -0,0 +1,292 @@ +/* Copyright 2019 Stefano Marago' + * + * 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 . + */ + + +/* + * This file is the QMK keymap to configure an ortholinear 40% keyboard + * (with 48 keys) into an ortholinear alpha-vderm 28 keys inspired layout + * "rules.mk" and "config.h" complete the configuration + */ + + +#include QMK_KEYBOARD_H + +enum layers { + LAYER_HOME, // home base layer + LAYER_FUNC, // function keys and cursors + LAYER_NUMSYM, // numbers and other characters + LAYER_SYST, // media and other system keys + LAYER_NUMONLY, // numeric keypad + LAYER_LIGHTS, // numeric keypad + LAYER_MOUSE, // mouse layer +}; + +enum custom_keycodes { + CK_TRIPLEZERO = SAFE_RANGE, +}; + +enum { + TD_ENT_BSPC = 0, + TD_KPENT_BSPC, + TD_E_GRAVE, + TD_A_GRAVE, + TD_O_GRAVE, + TD_U_GRAVE, + TD_I_GRAVE, + TD_E_ACUTE, +}; +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_ENT_BSPC] = ACTION_TAP_DANCE_DOUBLE(KC_ENT, KC_BSPC), + [TD_KPENT_BSPC] = ACTION_TAP_DANCE_DOUBLE(KC_KP_ENTER, KC_BSPC), + [TD_E_GRAVE] = ACTION_TAP_DANCE_DOUBLE(KC_E, KC_E), +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + * LEGEND: + * + * ,--------------------------------. + * | Top row: shifted character | + * | Central row: standard char | + * | Bottom row: hold modifier | + * `--------------------------------' + * + * "____" means free to be assigned + * + */ + + +/* Qwerty Home Layer + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | Q | W | E | R | T | Y | U | I | O | P | | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | A | S | D | F | G | H | J | K | L | Enter| | + * | | Shift| FnNav|NumSym| ____ | OSkey| OSkey| ____ | FnNav|NumSym| Shift| | + * |------+------+------+------+------+------+------|------+------+------+------+------+ + * | | | | | | | | | | | | | + * | | | Z | X | C | V | B | N | M | Space| | | + * | | | Ctrl | Alt | FnNav|NumSym| Shift| Alt | Ctrl | Shift| | | + * `-----------------------------------------------------------------------------------' + */ + [LAYER_HOME] = LAYOUT_ortho_4x12( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, XXXXXXX, + XXXXXXX, MT(MOD_LSFT, KC_A), LT(LAYER_FUNC, KC_S), LT(LAYER_NUMSYM, KC_D), KC_F, MT(MOD_LGUI, KC_G), MT(MOD_RGUI, KC_H), KC_J, LT(LAYER_FUNC, KC_K), LT(LAYER_NUMSYM, KC_L), MT(MOD_RSFT, KC_ENT), XXXXXXX, + XXXXXXX, XXXXXXX, MT(MOD_LCTL, KC_Z), MT(MOD_LALT, KC_X), LT(LAYER_FUNC, KC_C), LT(LAYER_NUMSYM, KC_V), MT(MOD_LSFT, KC_B), MT(MOD_RALT, KC_N), MT(MOD_RCTL, KC_M), MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), + +/* Function and Navigation Layer + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | ESC | Home | PgDn | PgUp | End | Left | Down | Up | Right| Baksp| | + * | | Shift|xxxxxx|SysLay| ____ | ____ | ____ | ____ |xxxxxx|SysLay| Shift| | + * |------+------+------+------+------+------+------|------+------+------+------+------+ + * | | | | | | | | | | | | | + * | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | | + * | | | Ctrl | Alt |xxxxxx|SysLay| Shift| Alt | Ctrl | Shift| | | + * `-----------------------------------------------------------------------------------' + */ + [LAYER_FUNC] = LAYOUT_ortho_4x12( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, + XXXXXXX, MT(MOD_LSFT, KC_ESC), KC_HOME, LT(LAYER_SYST, KC_PGDN), KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, LT(LAYER_SYST, KC_RGHT), MT(MOD_RSFT, KC_BSPC), XXXXXXX, + XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_TRNS, MO(LAYER_SYST), KC_LSFT, KC_RALT, KC_RCTL, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), + +/* Number and Symbols Layer + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | ! | @ | # | $ | % | ^ | & | * | ( | ) | | + * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | ~ | _ | + | { | } | | | : | " | | | + * | | TAB | ` | - | = | [ | ] | \ | ; | ' | | | + * | | Shift|SysLay|xxxxxx| ____ | ____ | ____ | ____ |SysLay|xxxxxx| Shift| | + * |------+------+------+------+------+------+------|------+------+------+------+------+ + * | | | | | | | < | > | ? | | | | + * | | | ____ | ____ | ____ | ____ | , | . | / | ____ | | | + * | | | Ctrl | Alt |SysLay|xxxxxx| Shift| ____ | ____ | Shift| | | + * `-----------------------------------------------------------------------------------' + */ + [LAYER_NUMSYM] = LAYOUT_ortho_4x12( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, + XXXXXXX, MT(MOD_LSFT, KC_TAB), LT(LAYER_SYST, KC_GRV), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, LT(LAYER_SYST, KC_SCLN), KC_QUOT, MT(MOD_RSFT, KC_DEL), XXXXXXX, + XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, MO(LAYER_SYST), KC_TRNS, MT(MOD_LSFT, KC_COMM), KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), + +/* System Layer + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | F11 | F12 |NumLay|LghLay| ____ | ____ | ____ | ____ |MouLay|Backsp| | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | Caps | Mute | Vol- | Vol+ | Play | Next | ____ | ____ | ____ | Ins | | + * | | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Shift| | + * |------+------+------+------+------+------+------|------+------+------+------+------+ + * | | | | | | | | | | | | | + * | | | ____ | ____ | ____ | ____ |PrnScr|ScrLck|Pause | ____ | | | + * | | | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | Shift| | | + * `-----------------------------------------------------------------------------------' + */ + [LAYER_SYST] = LAYOUT_ortho_4x12( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F11, KC_F12, TG(LAYER_NUMONLY), TG(LAYER_LIGHTS), KC_NO, KC_NO, KC_NO, KC_NO, TG(LAYER_MOUSE), KC_BSPC, XXXXXXX, + XXXXXXX, MT(MOD_LSFT, KC_CAPS), KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, MT(MOD_RSFT, KC_INS), XXXXXXX, + XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), + +/* Numeric Keypad + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | |NumLck| ____ |NumLay| / | * | - | 7 | 8 | 9 |Backsp| | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | Tab | ( | ) | = | , | + | 4 | 5 | 6 | Enter| | + * | | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Shift| | + * |------+------+------+------+------+------+------|------+------+------+------+------+ + * | | | | | | | | | | | | | + * | | | ____ | ____ | 000 | . | 0 | 1 | 2 | 3 | | | + * | | | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | Shift| | | + * `-----------------------------------------------------------------------------------' + */ + [LAYER_NUMONLY] = LAYOUT_ortho_4x12( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_NLCK, KC_NO, TG(LAYER_NUMONLY), KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_P7, KC_P8, KC_P9, KC_BSPC, XXXXXXX, + XXXXXXX, MT(MOD_LSFT, KC_TAB), KC_LPRN, KC_RPRN, KC_EQUAL, KC_KP_COMMA, KC_KP_PLUS, KC_P4, KC_P5, KC_P6, MT(MOD_LSFT, KC_KP_ENTER), XXXXXXX, + XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, CK_TRIPLEZERO, KC_KP_DOT, KC_P0, KC_P1, KC_P2, MT(MOD_LSFT, KC_P3), XXXXXXX, XXXXXXX ), + +/* Backlight adjustment Layer + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | ____ | ____ | ____ |LghLay| ____ | Hue+ | Sat+ | Val+ | ____ | Plain| | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | ____ | ____ |ModeFw|ModeBw| ____ | Hue- | Sat- | Val- | ____ |Toggle| | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+------+------|------+------+------+------+------+ + * | | | | | | | | | | | | | + * | | |Breath|Rainbw| Swirl| Snake|Knight| XMas |Gradnt| Test | | | + * | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | | + * `-----------------------------------------------------------------------------------' + */ + [LAYER_LIGHTS] = LAYOUT_ortho_4x12( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_NO, KC_NO, KC_NO, TG(LAYER_LIGHTS), KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, RGB_M_P, XXXXXXX, + XXXXXXX, KC_NO, KC_NO, RGB_MOD, RGB_RMOD, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, RGB_TOG, XXXXXXX, + XXXXXXX, XXXXXXX, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, RGB_MODE_SWIRL, RGB_MODE_SNAKE, RGB_MODE_KNIGHT, RGB_MODE_XMAS, RGB_MODE_GRADIENT, RGB_MODE_RGBTEST, XXXXXXX, XXXXXXX ), + +/* Mouse emulation Layer + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | Btn1 | Up | Btn2 | Whl+ | Accl0| Accl1| Accl2| ____ |MouLay| ____ | | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | Left | Down | Right| Whl- | ____ | ____ | ____ | ____ | ____ | Enter| | + * | | ____ | ____ | ____ | ____ | OSkey| OSkey| ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+------+------|------+------+------+------+------+ + * | | | | | | | | | | | | | + * | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Space| | | + * | | | Ctrl | Alt | ____ | ____ | Shift| Alt | Ctrl | Shift| | | + * `-----------------------------------------------------------------------------------' + */ + [LAYER_MOUSE] = LAYOUT_ortho_4x12( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, KC_NO, TG(LAYER_MOUSE), KC_NO, XXXXXXX, + XXXXXXX, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, KC_LGUI, KC_RGUI, KC_NO, KC_NO, KC_NO, KC_ENT, XXXXXXX, + XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_LSFT, KC_RALT, KC_RCTL, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), + +}; + + +void matrix_init_user(void) { + // set num lock on at start independently of state (for numonly layer to work) + if (!(host_keyboard_leds() & (1<event.pressed) { + SEND_STRING("000"); + } // else { when released... } + break; + } + return true; +}; + + +/* Empty keyboard template + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | + * |------+------+------+------+------+------+------|------+------+------+------+------+ + * | | | | | | | | | | | | | + * | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | | + * | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | | + * `-----------------------------------------------------------------------------------' + */ diff --git a/keyboards/jj40/keymaps/stevexyz/readme.md b/keyboards/jj40/keymaps/stevexyz/readme.md new file mode 100644 index 000000000000..d404bcc0bdaa --- /dev/null +++ b/keyboards/jj40/keymaps/stevexyz/readme.md @@ -0,0 +1,20 @@ +# jj28 (aka jj40 super micro edition :)) + +With this configuration a 4x12 jj40 (with 48 keys) is transformed into an ortholinear PyroL-vderm 28 keys inspired layout one. This keyboard can be actually called jj28! + +![Bare layout](https://i.ibb.co/7GK1LY7/layout-0.jpg) + +![Fully described](https://i.ibb.co/kxTfTXH/layout-4.jpg) + +Why you should want to do something like this? +There are many valid reasons. +The main one to me might just be to be able to test such an "extreme" configuration for real if you have this easily available board on hand. +But also because this setup might be even more confortable than the original 2u space one (for muscle memory having bnm letters nearer to zxcv). +Or just more nice looking. +Surely you have an additional option, and personally, after using it as a daily driver, I liked it, even if I was a bit slower in processing complicated sequences! :) + +Notes on layout: +After few tests I found out that the space at the end is the best for people that are very used to “standard” keyboards (basically almost everybody), retaining years of muscle memory. +Moreover, also shift, fn and numsym layer keys are good to be replicated on central line (and also keeping in the order will allow a single finger shift+fn on the left and also shift+num on the right). + +[Keyboard layout editor](http://www.keyboard-layout-editor.com/#/) raw data in keyboard-layout-editor-raw-data.txt file. diff --git a/keyboards/jj40/keymaps/stevexyz/rules.mk b/keyboards/jj40/keymaps/stevexyz/rules.mk new file mode 100644 index 000000000000..612e5d7750d1 --- /dev/null +++ b/keyboards/jj40/keymaps/stevexyz/rules.mk @@ -0,0 +1,22 @@ +# Build Options (yes/no) +# +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 = no # Commands for debug and configuration +NKRO_ENABLE = no # USB Nkey Rollover (see: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work) +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_CUSTOM_DRIVER = yes +MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE = no # Audio output on port C6 +FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches +HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) + +TAP_DANCE_ENABLE = yes + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend From e243afe23e34e84e5e8bf5edb086bd27065c0055 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 24 Aug 2019 12:43:39 -0400 Subject: [PATCH 033/416] updates the coc --- CODE_OF_CONDUCT.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index d5d8b01de5a2..c9e3e0586ae9 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -8,8 +8,17 @@ Our users, contributors, and collaborators are expected to treat each other with * The use of sexualized language or imagery * Unwelcome advances, sexual or otherwise +* Deliberate intimidation, stalking, or following * Insults or derogatory comments, or personal or political attacks * Publishing others’ private information without explicit permission +* Sustained disruption of talks or other events * Other conduct which could reasonably be considered inappropriate in a professional setting +* Advocating for, or encouraging, any of the above behaviour -If someone is violating this Code of Conduct you may email hello@qmk.fm to bring your concern to the Members. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. +# Reporting + +If someone is violating this Code of Conduct, please email hello@qmk.fm or reach out to one of the Collaborators to bring it to our attention. All complaints will be reviewed and investigated. + +QMK will seek to use the least punitive means available to resolve an issue. If the circumstances require asking an offender to leave, we will do that. + +Reports will be taken and kept in strict confidence. You will not be required to confront an offender directly. From caab1d0303141c11e565c3dd18e97790d5cb7dab Mon Sep 17 00:00:00 2001 From: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat, 24 Aug 2019 09:44:04 -0700 Subject: [PATCH 034/416] [Keyboard] New Keyboard: EVE Meteor (#6565) * initial commit * Add the correct pins and ordering * create an appropriate keymap macro for the board * add an appropriate LAYOUT macro * add a keymap that fits the LAYOUT layout macro * add QMK Configurator support * add missing pin D7 and LAYOUT_all * fix my mistake when I added an extra key to the electrical matrix instead of the physical one * add qmk configurator support for LAYOUT_all * Update keyboards/eve/meteor/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/eve/meteor/rules.mk Co-Authored-By: Drashna Jaelre * use the default names so BMC still works * remove mcu rules as per resolution of 6253 --- keyboards/eve/meteor/config.h | 38 ++ keyboards/eve/meteor/info.json | 16 + keyboards/eve/meteor/keymaps/default/keymap.c | 38 ++ keyboards/eve/meteor/meteor.c | 89 ++++ keyboards/eve/meteor/meteor.h | 54 +++ keyboards/eve/meteor/readme.md | 51 +++ keyboards/eve/meteor/rules.mk | 37 ++ keyboards/eve/meteor/usbconfig.h | 383 ++++++++++++++++++ 8 files changed, 706 insertions(+) create mode 100644 keyboards/eve/meteor/config.h create mode 100644 keyboards/eve/meteor/info.json create mode 100644 keyboards/eve/meteor/keymaps/default/keymap.c create mode 100644 keyboards/eve/meteor/meteor.c create mode 100644 keyboards/eve/meteor/meteor.h create mode 100644 keyboards/eve/meteor/readme.md create mode 100644 keyboards/eve/meteor/rules.mk create mode 100644 keyboards/eve/meteor/usbconfig.h diff --git a/keyboards/eve/meteor/config.h b/keyboards/eve/meteor/config.h new file mode 100644 index 000000000000..c948216af2e7 --- /dev/null +++ b/keyboards/eve/meteor/config.h @@ -0,0 +1,38 @@ +/* +Copyright 2017 Luiz Ribeiro + +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 . +*/ + +#pragma once + +#include "config_common.h" + +#define VENDOR_ID 0x20A0 +#define PRODUCT_ID 0x422D +#define MANUFACTURER EVE +#define PRODUCT Meteor + +#define MATRIX_ROWS 6 +#define MATRIX_COLS 15 + +// 0 1 2 3 4 5 6 7 8 9 A B C D E +#define MATRIX_ROW_PINS { B5, B0, B1, B2, B3, B4 } +#define MATRIX_COL_PINS { C2, C3, C4, C5, C6, C7, A7, A6, A5, A4, A3, A2, A1, A0, D7} +#define UNUSED_PINS + +#define DIODE_DIRECTION COL2ROW +#define DEBOUNCE 5 + +#define BACKLIGHT_LEVELS 1 diff --git a/keyboards/eve/meteor/info.json b/keyboards/eve/meteor/info.json new file mode 100644 index 000000000000..e75b1b02c2c0 --- /dev/null +++ b/keyboards/eve/meteor/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "EVE Meteor", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 6.5, + "layouts": { + "LAYOUT_all": { + "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5}, {"x":11, "y":5.5}, {"x":12, "y":5.5}, {"x":13, "y":5.5}, {"x":14, "y":5.5}] + }, + + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5, "w":1.75}, {"x":13, "y":4.5}, {"x":14, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5}, {"x":11, "y":5.5}, {"x":12, "y":5.5}, {"x":13, "y":5.5}, {"x":14, "y":5.5}] + } + } +} \ No newline at end of file diff --git a/keyboards/eve/meteor/keymaps/default/keymap.c b/keyboards/eve/meteor/keymaps/default/keymap.c new file mode 100644 index 000000000000..d9638e3e84f9 --- /dev/null +++ b/keyboards/eve/meteor/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2019 MechMerlin + * + * 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 QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + 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_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, + 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/eve/meteor/meteor.c b/keyboards/eve/meteor/meteor.c new file mode 100644 index 000000000000..1bd47ef9e1af --- /dev/null +++ b/keyboards/eve/meteor/meteor.c @@ -0,0 +1,89 @@ +/* Copyright 2019 MechMerlin + * + * 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 "i2c_master.h" +#include "quantum.h" + +#ifdef RGBLIGHT_ENABLE +#include "rgblight.h" +extern rgblight_config_t rgblight_config; + +void rgblight_set(void) { + if (!rgblight_config.enable) { + for (uint8_t i = 0; i < RGBLED_NUM; i++) { + led[i].r = 0; + led[i].g = 0; + led[i].b = 0; + } + } + + i2c_init(); + i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100); +} +#endif + +void matrix_init_kb(void) { +#ifdef RGBLIGHT_ENABLE + if (rgblight_config.enable) { + i2c_init(); + i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100); + } +#endif + // call user level keymaps, if any + matrix_init_user(); +} + +void matrix_scan_kb(void) { +#ifdef RGBLIGHT_ENABLE + rgblight_task(); +#endif + matrix_scan_user(); + /* Nothing else for now. */ +} + +__attribute__ ((weak)) +void matrix_scan_user(void) { +} + +void backlight_init_ports(void) { + // initialize pins D0, D1, D4 and D6 as output + setPinOutput(D0); + setPinOutput(D1); + setPinOutput(D4); + setPinOutput(D6); + + // turn backlight LEDs on + writePinHigh(D0); + writePinHigh(D1); + writePinHigh(D4); + writePinHigh(D6); +} + +void backlight_set(uint8_t level) { + if (level == 0) { + // turn backlight LEDs off + writePinLow(D0); + writePinLow(D1); + writePinLow(D4); + writePinLow(D6); + } else { + // turn backlight LEDs on + writePinHigh(D0); + writePinHigh(D1); + writePinHigh(D4); + writePinHigh(D6); + } +} diff --git a/keyboards/eve/meteor/meteor.h b/keyboards/eve/meteor/meteor.h new file mode 100644 index 000000000000..f8f8ee4ff3ca --- /dev/null +++ b/keyboards/eve/meteor/meteor.h @@ -0,0 +1,54 @@ +/* Copyright 2019 MechMerlin + * + * 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 . + */ +#pragma once + +#include "quantum.h" + +// This a shortcut to help you visually see your layout. +// The first section contains all of the arguments +// The second converts the arguments into a two-dimensional array + +#define LAYOUT_all( \ + k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \ + 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, \ + k40, k53, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D, \ + k50, k51, k52, k55, k59, k5A, k5B, k5C, k5D \ +){ \ + { k00, KC_NO, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, KC_NO }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { 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, KC_NO, KC_NO }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, KC_NO, k4D, KC_NO }, \ + { k50, k51, k52, k53, KC_NO, k55, KC_NO, KC_NO, KC_NO, k59, k5A, k5B, k5C, k5D, KC_NO }, \ +} + +#define LAYOUT( \ + k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ + 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, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D, \ + k50, k51, k52, k55, k59, k5A, k5B, k5C, k5D \ +){ \ + { k00, KC_NO, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, KC_NO }, \ + { 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, KC_NO, KC_NO }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, KC_NO, k4D, KC_NO }, \ + { k50, k51, k52, KC_NO, KC_NO, k55, KC_NO, KC_NO, KC_NO, k59, k5A, k5B, k5C, k5D, KC_NO }, \ +} diff --git a/keyboards/eve/meteor/readme.md b/keyboards/eve/meteor/readme.md new file mode 100644 index 000000000000..8e933c09d172 --- /dev/null +++ b/keyboards/eve/meteor/readme.md @@ -0,0 +1,51 @@ +# EVE Meteor + +60% PCB with Function Row + + +Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) +Hardware Supported: EVE Meteor +Hardware Availability: [zFrontier](https://en.zfrontier.com/products/eve-meteor) + + +Make example for this keyboard (after setting up your build environment): + + make eve/meteor:default + +Flashing + +ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods. + +**Reset Key:** Short the two holes labeled `FW_JP` underneath the PCB, beside the Tab key while plugging in the keyboard. + +Do not confuse this with the LED holes of the switch in the `Tab` position. `FW_JP` is not reachable from the top as the plate blocks access to it. + +It is recommended to program a `RESET` key in your keymap. + +Windows: +1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash). +2. Place your keyboard into reset. +3. Press the `Find Device` button and ensure that your keyboard is found. +4. Press the `Open .hex File` button and locate the `.hex` file you created. +5. Press the `Flash Device` button and wait for the process to complete. + +macOS: +1. Install homebrew by typing the following: + ``` + /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + ``` +2. Install `crosspack-avr`. + ``` + brew cask install crosspack-avr + ``` +3. Install the following packages: + ``` + brew install python3 + pip3 install pyusb + brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb + ``` +4. Place your keyboard into reset. +5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file. + + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/eve/meteor/rules.mk b/keyboards/eve/meteor/rules.mk new file mode 100644 index 000000000000..10fc8cd032e9 --- /dev/null +++ b/keyboards/eve/meteor/rules.mk @@ -0,0 +1,37 @@ +# Copyright 2017 Luiz Ribeiro +# +# 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 . + +# MCU name +MCU = atmega32a + +# Bootloader +# This definition is optional, and if your keyboard supports multiple bootloaders of +# different sizes, comment this out, and the correct address will be loaded +# automatically (+60). See bootloader.mk for all options. +BOOTLOADER = bootloadHID + +# build options +BOOTMAGIC_ENABLE = no +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes +CONSOLE_ENABLE = yes +COMMAND_ENABLE = yes +BACKLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = no +RGBLIGHT_CUSTOM_DRIVER = no + +OPT_DEFS = -DDEBUG_LEVEL=0 + +QUANTUM_LIB_SRC = i2c_master.c diff --git a/keyboards/eve/meteor/usbconfig.h b/keyboards/eve/meteor/usbconfig.h new file mode 100644 index 000000000000..da9b2b7197d4 --- /dev/null +++ b/keyboards/eve/meteor/usbconfig.h @@ -0,0 +1,383 @@ +#pragma once + +#include "config.h" + +/* +General Description: +This file is an example configuration (with inline documentation) for the USB +driver. It configures V-USB for USB D+ connected to Port D bit 2 (which is +also hardware interrupt 0 on many devices) and USB D- to Port D bit 4. You may +wire the lines to any other port, as long as D+ is also wired to INT0 (or any +other hardware interrupt, as long as it is the highest level interrupt, see +section at the end of this file). +*/ + +/* ---------------------------- Hardware Config ---------------------------- */ + +#define USB_CFG_IOPORTNAME D +/* This is the port where the USB bus is connected. When you configure it to + * "B", the registers PORTB, PINB and DDRB will be used. + */ +#define USB_CFG_DMINUS_BIT 3 +/* This is the bit number in USB_CFG_IOPORT where the USB D- line is connected. + * This may be any bit in the port. + */ +#define USB_CFG_DPLUS_BIT 2 +/* This is the bit number in USB_CFG_IOPORT where the USB D+ line is connected. + * This may be any bit in the port. Please note that D+ must also be connected + * to interrupt pin INT0! [You can also use other interrupts, see section + * "Optional MCU Description" below, or you can connect D- to the interrupt, as + * it is required if you use the USB_COUNT_SOF feature. If you use D- for the + * interrupt, the USB interrupt will also be triggered at Start-Of-Frame + * markers every millisecond.] + */ +#define USB_CFG_CLOCK_KHZ (F_CPU/1000) +/* Clock rate of the AVR in kHz. Legal values are 12000, 12800, 15000, 16000, + * 16500, 18000 and 20000. The 12.8 MHz and 16.5 MHz versions of the code + * require no crystal, they tolerate +/- 1% deviation from the nominal + * frequency. All other rates require a precision of 2000 ppm and thus a + * crystal! + * Since F_CPU should be defined to your actual clock rate anyway, you should + * not need to modify this setting. + */ +#define USB_CFG_CHECK_CRC 0 +/* Define this to 1 if you want that the driver checks integrity of incoming + * data packets (CRC checks). CRC checks cost quite a bit of code size and are + * currently only available for 18 MHz crystal clock. You must choose + * USB_CFG_CLOCK_KHZ = 18000 if you enable this option. + */ + +/* ----------------------- Optional Hardware Config ------------------------ */ + +/* #define USB_CFG_PULLUP_IOPORTNAME D */ +/* If you connect the 1.5k pullup resistor from D- to a port pin instead of + * V+, you can connect and disconnect the device from firmware by calling + * the macros usbDeviceConnect() and usbDeviceDisconnect() (see usbdrv.h). + * This constant defines the port on which the pullup resistor is connected. + */ +/* #define USB_CFG_PULLUP_BIT 4 */ +/* This constant defines the bit number in USB_CFG_PULLUP_IOPORT (defined + * above) where the 1.5k pullup resistor is connected. See description + * above for details. + */ + +/* --------------------------- Functional Range ---------------------------- */ + +#define USB_CFG_HAVE_INTRIN_ENDPOINT 1 +/* Define this to 1 if you want to compile a version with two endpoints: The + * default control endpoint 0 and an interrupt-in endpoint (any other endpoint + * number). + */ +#define USB_CFG_HAVE_INTRIN_ENDPOINT3 1 +/* Define this to 1 if you want to compile a version with three endpoints: The + * default control endpoint 0, an interrupt-in endpoint 3 (or the number + * configured below) and a catch-all default interrupt-in endpoint as above. + * You must also define USB_CFG_HAVE_INTRIN_ENDPOINT to 1 for this feature. + */ +#define USB_CFG_EP3_NUMBER 3 +/* If the so-called endpoint 3 is used, it can now be configured to any other + * endpoint number (except 0) with this macro. Default if undefined is 3. + */ +/* #define USB_INITIAL_DATATOKEN USBPID_DATA1 */ +/* The above macro defines the startup condition for data toggling on the + * interrupt/bulk endpoints 1 and 3. Defaults to USBPID_DATA1. + * Since the token is toggled BEFORE sending any data, the first packet is + * sent with the oposite value of this configuration! + */ +#define USB_CFG_IMPLEMENT_HALT 0 +/* Define this to 1 if you also want to implement the ENDPOINT_HALT feature + * for endpoint 1 (interrupt endpoint). Although you may not need this feature, + * it is required by the standard. We have made it a config option because it + * bloats the code considerably. + */ +#define USB_CFG_SUPPRESS_INTR_CODE 0 +/* Define this to 1 if you want to declare interrupt-in endpoints, but don't + * want to send any data over them. If this macro is defined to 1, functions + * usbSetInterrupt() and usbSetInterrupt3() are omitted. This is useful if + * you need the interrupt-in endpoints in order to comply to an interface + * (e.g. HID), but never want to send any data. This option saves a couple + * of bytes in flash memory and the transmit buffers in RAM. + */ +#define USB_CFG_INTR_POLL_INTERVAL 1 +/* If you compile a version with endpoint 1 (interrupt-in), this is the poll + * interval. The value is in milliseconds and must not be less than 10 ms for + * low speed devices. + */ +#define USB_CFG_IS_SELF_POWERED 0 +/* Define this to 1 if the device has its own power supply. Set it to 0 if the + * device is powered from the USB bus. + */ +#define USB_CFG_MAX_BUS_POWER 500 +/* Set this variable to the maximum USB bus power consumption of your device. + * The value is in milliamperes. [It will be divided by two since USB + * communicates power requirements in units of 2 mA.] + */ +#define USB_CFG_IMPLEMENT_FN_WRITE 1 +/* Set this to 1 if you want usbFunctionWrite() to be called for control-out + * transfers. Set it to 0 if you don't need it and want to save a couple of + * bytes. + */ +#define USB_CFG_IMPLEMENT_FN_READ 0 +/* Set this to 1 if you need to send control replies which are generated + * "on the fly" when usbFunctionRead() is called. If you only want to send + * data from a static buffer, set it to 0 and return the data from + * usbFunctionSetup(). This saves a couple of bytes. + */ +#define USB_CFG_IMPLEMENT_FN_WRITEOUT 0 +/* Define this to 1 if you want to use interrupt-out (or bulk out) endpoints. + * You must implement the function usbFunctionWriteOut() which receives all + * interrupt/bulk data sent to any endpoint other than 0. The endpoint number + * can be found in 'usbRxToken'. + */ +#define USB_CFG_HAVE_FLOWCONTROL 0 +/* Define this to 1 if you want flowcontrol over USB data. See the definition + * of the macros usbDisableAllRequests() and usbEnableAllRequests() in + * usbdrv.h. + */ +#define USB_CFG_DRIVER_FLASH_PAGE 0 +/* If the device has more than 64 kBytes of flash, define this to the 64 k page + * where the driver's constants (descriptors) are located. Or in other words: + * Define this to 1 for boot loaders on the ATMega128. + */ +#define USB_CFG_LONG_TRANSFERS 0 +/* Define this to 1 if you want to send/receive blocks of more than 254 bytes + * in a single control-in or control-out transfer. Note that the capability + * for long transfers increases the driver size. + */ +/* #define USB_RX_USER_HOOK(data, len) if(usbRxToken == (uchar)USBPID_SETUP) blinkLED(); */ +/* This macro is a hook if you want to do unconventional things. If it is + * defined, it's inserted at the beginning of received message processing. + * If you eat the received message and don't want default processing to + * proceed, do a return after doing your things. One possible application + * (besides debugging) is to flash a status LED on each packet. + */ +/* #define USB_RESET_HOOK(resetStarts) if(!resetStarts){hadUsbReset();} */ +/* This macro is a hook if you need to know when an USB RESET occurs. It has + * one parameter which distinguishes between the start of RESET state and its + * end. + */ +/* #define USB_SET_ADDRESS_HOOK() hadAddressAssigned(); */ +/* This macro (if defined) is executed when a USB SET_ADDRESS request was + * received. + */ +#define USB_COUNT_SOF 1 +/* define this macro to 1 if you need the global variable "usbSofCount" which + * counts SOF packets. This feature requires that the hardware interrupt is + * connected to D- instead of D+. + */ +/* #ifdef __ASSEMBLER__ + * macro myAssemblerMacro + * in YL, TCNT0 + * sts timer0Snapshot, YL + * endm + * #endif + * #define USB_SOF_HOOK myAssemblerMacro + * This macro (if defined) is executed in the assembler module when a + * Start Of Frame condition is detected. It is recommended to define it to + * the name of an assembler macro which is defined here as well so that more + * than one assembler instruction can be used. The macro may use the register + * YL and modify SREG. If it lasts longer than a couple of cycles, USB messages + * immediately after an SOF pulse may be lost and must be retried by the host. + * What can you do with this hook? Since the SOF signal occurs exactly every + * 1 ms (unless the host is in sleep mode), you can use it to tune OSCCAL in + * designs running on the internal RC oscillator. + * Please note that Start Of Frame detection works only if D- is wired to the + * interrupt, not D+. THIS IS DIFFERENT THAN MOST EXAMPLES! + */ +#define USB_CFG_CHECK_DATA_TOGGLING 0 +/* define this macro to 1 if you want to filter out duplicate data packets + * sent by the host. Duplicates occur only as a consequence of communication + * errors, when the host does not receive an ACK. Please note that you need to + * implement the filtering yourself in usbFunctionWriteOut() and + * usbFunctionWrite(). Use the global usbCurrentDataToken and a static variable + * for each control- and out-endpoint to check for duplicate packets. + */ +#define USB_CFG_HAVE_MEASURE_FRAME_LENGTH 0 +/* define this macro to 1 if you want the function usbMeasureFrameLength() + * compiled in. This function can be used to calibrate the AVR's RC oscillator. + */ +#define USB_USE_FAST_CRC 0 +/* The assembler module has two implementations for the CRC algorithm. One is + * faster, the other is smaller. This CRC routine is only used for transmitted + * messages where timing is not critical. The faster routine needs 31 cycles + * per byte while the smaller one needs 61 to 69 cycles. The faster routine + * may be worth the 32 bytes bigger code size if you transmit lots of data and + * run the AVR close to its limit. + */ + +/* -------------------------- Device Description --------------------------- */ + +#define USB_CFG_VENDOR_ID (VENDOR_ID & 0xFF), ((VENDOR_ID >> 8) & 0xFF) +/* USB vendor ID for the device, low byte first. If you have registered your + * own Vendor ID, define it here. Otherwise you may use one of obdev's free + * shared VID/PID pairs. Be sure to read USB-IDs-for-free.txt for rules! + * *** IMPORTANT NOTE *** + * This template uses obdev's shared VID/PID pair for Vendor Class devices + * with libusb: 0x16c0/0x5dc. Use this VID/PID pair ONLY if you understand + * the implications! + */ +#define USB_CFG_DEVICE_ID (PRODUCT_ID & 0xFF), ((PRODUCT_ID >> 8) & 0xFF) +/* This is the ID of the product, low byte first. It is interpreted in the + * scope of the vendor ID. If you have registered your own VID with usb.org + * or if you have licensed a PID from somebody else, define it here. Otherwise + * you may use one of obdev's free shared VID/PID pairs. See the file + * USB-IDs-for-free.txt for details! + * *** IMPORTANT NOTE *** + * This template uses obdev's shared VID/PID pair for Vendor Class devices + * with libusb: 0x16c0/0x5dc. Use this VID/PID pair ONLY if you understand + * the implications! + */ +#define USB_CFG_DEVICE_VERSION 0x00, 0x02 +/* Version number of the device: Minor number first, then major number. + */ +#define USB_CFG_VENDOR_NAME 'w', 'i', 'n', 'k', 'e', 'y', 'l', 'e', 's', 's', '.', 'k', 'r' +#define USB_CFG_VENDOR_NAME_LEN 13 +/* These two values define the vendor name returned by the USB device. The name + * must be given as a list of characters under single quotes. The characters + * are interpreted as Unicode (UTF-16) entities. + * If you don't want a vendor name string, undefine these macros. + * ALWAYS define a vendor name containing your Internet domain name if you use + * obdev's free shared VID/PID pair. See the file USB-IDs-for-free.txt for + * details. + */ +#define USB_CFG_DEVICE_NAME 'p', 's', '2', 'a', 'v', 'r', 'G', 'B' +#define USB_CFG_DEVICE_NAME_LEN 8 +/* Same as above for the device name. If you don't want a device name, undefine + * the macros. See the file USB-IDs-for-free.txt before you assign a name if + * you use a shared VID/PID. + */ +/*#define USB_CFG_SERIAL_NUMBER 'N', 'o', 'n', 'e' */ +/*#define USB_CFG_SERIAL_NUMBER_LEN 0 */ +/* Same as above for the serial number. If you don't want a serial number, + * undefine the macros. + * It may be useful to provide the serial number through other means than at + * compile time. See the section about descriptor properties below for how + * to fine tune control over USB descriptors such as the string descriptor + * for the serial number. + */ +#define USB_CFG_DEVICE_CLASS 0 +#define USB_CFG_DEVICE_SUBCLASS 0 +/* See USB specification if you want to conform to an existing device class. + * Class 0xff is "vendor specific". + */ +#define USB_CFG_INTERFACE_CLASS 3 /* HID */ +#define USB_CFG_INTERFACE_SUBCLASS 1 /* Boot */ +#define USB_CFG_INTERFACE_PROTOCOL 1 /* Keyboard */ +/* See USB specification if you want to conform to an existing device class or + * protocol. The following classes must be set at interface level: + * HID class is 3, no subclass and protocol required (but may be useful!) + * CDC class is 2, use subclass 2 and protocol 1 for ACM + */ +#define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH 0 +/* Define this to the length of the HID report descriptor, if you implement + * an HID device. Otherwise don't define it or define it to 0. + * If you use this define, you must add a PROGMEM character array named + * "usbHidReportDescriptor" to your code which contains the report descriptor. + * Don't forget to keep the array and this define in sync! + */ + +/* #define USB_PUBLIC static */ +/* Use the define above if you #include usbdrv.c instead of linking against it. + * This technique saves a couple of bytes in flash memory. + */ + +/* ------------------- Fine Control over USB Descriptors ------------------- */ +/* If you don't want to use the driver's default USB descriptors, you can + * provide our own. These can be provided as (1) fixed length static data in + * flash memory, (2) fixed length static data in RAM or (3) dynamically at + * runtime in the function usbFunctionDescriptor(). See usbdrv.h for more + * information about this function. + * Descriptor handling is configured through the descriptor's properties. If + * no properties are defined or if they are 0, the default descriptor is used. + * Possible properties are: + * + USB_PROP_IS_DYNAMIC: The data for the descriptor should be fetched + * at runtime via usbFunctionDescriptor(). If the usbMsgPtr mechanism is + * used, the data is in FLASH by default. Add property USB_PROP_IS_RAM if + * you want RAM pointers. + * + USB_PROP_IS_RAM: The data returned by usbFunctionDescriptor() or found + * in static memory is in RAM, not in flash memory. + * + USB_PROP_LENGTH(len): If the data is in static memory (RAM or flash), + * the driver must know the descriptor's length. The descriptor itself is + * found at the address of a well known identifier (see below). + * List of static descriptor names (must be declared PROGMEM if in flash): + * char usbDescriptorDevice[]; + * char usbDescriptorConfiguration[]; + * char usbDescriptorHidReport[]; + * char usbDescriptorString0[]; + * int usbDescriptorStringVendor[]; + * int usbDescriptorStringDevice[]; + * int usbDescriptorStringSerialNumber[]; + * Other descriptors can't be provided statically, they must be provided + * dynamically at runtime. + * + * Descriptor properties are or-ed or added together, e.g.: + * #define USB_CFG_DESCR_PROPS_DEVICE (USB_PROP_IS_RAM | USB_PROP_LENGTH(18)) + * + * The following descriptors are defined: + * USB_CFG_DESCR_PROPS_DEVICE + * USB_CFG_DESCR_PROPS_CONFIGURATION + * USB_CFG_DESCR_PROPS_STRINGS + * USB_CFG_DESCR_PROPS_STRING_0 + * USB_CFG_DESCR_PROPS_STRING_VENDOR + * USB_CFG_DESCR_PROPS_STRING_PRODUCT + * USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER + * USB_CFG_DESCR_PROPS_HID + * USB_CFG_DESCR_PROPS_HID_REPORT + * USB_CFG_DESCR_PROPS_UNKNOWN (for all descriptors not handled by the driver) + * + * Note about string descriptors: String descriptors are not just strings, they + * are Unicode strings prefixed with a 2 byte header. Example: + * int serialNumberDescriptor[] = { + * USB_STRING_DESCRIPTOR_HEADER(6), + * 'S', 'e', 'r', 'i', 'a', 'l' + * }; + */ + +#define USB_CFG_DESCR_PROPS_DEVICE 0 +#define USB_CFG_DESCR_PROPS_CONFIGURATION USB_PROP_IS_DYNAMIC +//#define USB_CFG_DESCR_PROPS_CONFIGURATION 0 +#define USB_CFG_DESCR_PROPS_STRINGS 0 +#define USB_CFG_DESCR_PROPS_STRING_0 0 +#define USB_CFG_DESCR_PROPS_STRING_VENDOR 0 +#define USB_CFG_DESCR_PROPS_STRING_PRODUCT 0 +#define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER 0 +#define USB_CFG_DESCR_PROPS_HID USB_PROP_IS_DYNAMIC +//#define USB_CFG_DESCR_PROPS_HID 0 +#define USB_CFG_DESCR_PROPS_HID_REPORT USB_PROP_IS_DYNAMIC +//#define USB_CFG_DESCR_PROPS_HID_REPORT 0 +#define USB_CFG_DESCR_PROPS_UNKNOWN 0 + +#define usbMsgPtr_t unsigned short +/* If usbMsgPtr_t is not defined, it defaults to 'uchar *'. We define it to + * a scalar type here because gcc generates slightly shorter code for scalar + * arithmetics than for pointer arithmetics. Remove this define for backward + * type compatibility or define it to an 8 bit type if you use data in RAM only + * and all RAM is below 256 bytes (tiny memory model in IAR CC). + */ + +/* ----------------------- Optional MCU Description ------------------------ */ + +/* The following configurations have working defaults in usbdrv.h. You + * usually don't need to set them explicitly. Only if you want to run + * the driver on a device which is not yet supported or with a compiler + * which is not fully supported (such as IAR C) or if you use a differnt + * interrupt than INT0, you may have to define some of these. + */ +/* #define USB_INTR_CFG MCUCR */ +/* #define USB_INTR_CFG_SET ((1 << ISC00) | (1 << ISC01)) */ +/* #define USB_INTR_CFG_CLR 0 */ +/* #define USB_INTR_ENABLE GIMSK */ +/* #define USB_INTR_ENABLE_BIT INT0 */ +/* #define USB_INTR_PENDING GIFR */ +/* #define USB_INTR_PENDING_BIT INTF0 */ +/* #define USB_INTR_VECTOR INT0_vect */ + +/* Set INT1 for D- falling edge to count SOF */ +/* #define USB_INTR_CFG EICRA */ +#define USB_INTR_CFG_SET ((1 << ISC11) | (0 << ISC10)) +/* #define USB_INTR_CFG_CLR 0 */ +/* #define USB_INTR_ENABLE EIMSK */ +#define USB_INTR_ENABLE_BIT INT1 +/* #define USB_INTR_PENDING EIFR */ +#define USB_INTR_PENDING_BIT INTF1 +#define USB_INTR_VECTOR INT1_vect \ No newline at end of file From 43b03099702265ef514cb84236d9031e04047837 Mon Sep 17 00:00:00 2001 From: Yan-Fa Li Date: Sat, 24 Aug 2019 13:10:36 -0700 Subject: [PATCH 035/416] Add 2015 revision of Pegasus Hoof to QMK (#6595) * Add 2015 revision of pegasus hoof to QMK * Add different version strings * Fix ansi tkl layout - temporary JIS mapping, I can't test this as I don't have the hardware * Reverse engineer JIS layout macro for 2015 Pegasus Hoof * Linting on 2013.h * Add more resources to readme * Update keyboards/bpiphany/pegasushoof/2013/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/bpiphany/pegasushoof/2015/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/bpiphany/pegasushoof/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/bpiphany/pegasushoof/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Try to use core debouncing code * return changed * Use helpers --- .../{pegasushoof.c => 2013/2013.c} | 2 +- .../{pegasushoof.h => 2013/2013.h} | 35 ++--- keyboards/bpiphany/pegasushoof/2013/config.h | 37 +++++ .../bpiphany/pegasushoof/{ => 2013}/matrix.c | 0 keyboards/bpiphany/pegasushoof/2013/rules.mk | 2 + keyboards/bpiphany/pegasushoof/2015/2015.c | 58 +++++++ keyboards/bpiphany/pegasushoof/2015/2015.h | 82 ++++++++++ keyboards/bpiphany/pegasushoof/2015/config.h | 38 +++++ keyboards/bpiphany/pegasushoof/2015/matrix.c | 146 ++++++++++++++++++ keyboards/bpiphany/pegasushoof/2015/rules.mk | 2 + keyboards/bpiphany/pegasushoof/config.h | 25 +-- keyboards/bpiphany/pegasushoof/readme.md | 10 +- keyboards/bpiphany/pegasushoof/rules.mk | 3 +- 13 files changed, 394 insertions(+), 46 deletions(-) rename keyboards/bpiphany/pegasushoof/{pegasushoof.c => 2013/2013.c} (98%) rename keyboards/bpiphany/pegasushoof/{pegasushoof.h => 2013/2013.h} (67%) create mode 100644 keyboards/bpiphany/pegasushoof/2013/config.h rename keyboards/bpiphany/pegasushoof/{ => 2013}/matrix.c (100%) create mode 100644 keyboards/bpiphany/pegasushoof/2013/rules.mk create mode 100644 keyboards/bpiphany/pegasushoof/2015/2015.c create mode 100644 keyboards/bpiphany/pegasushoof/2015/2015.h create mode 100644 keyboards/bpiphany/pegasushoof/2015/config.h create mode 100644 keyboards/bpiphany/pegasushoof/2015/matrix.c create mode 100644 keyboards/bpiphany/pegasushoof/2015/rules.mk diff --git a/keyboards/bpiphany/pegasushoof/pegasushoof.c b/keyboards/bpiphany/pegasushoof/2013/2013.c similarity index 98% rename from keyboards/bpiphany/pegasushoof/pegasushoof.c rename to keyboards/bpiphany/pegasushoof/2013/2013.c index cde814812e5b..7a489b22a70a 100644 --- a/keyboards/bpiphany/pegasushoof/pegasushoof.c +++ b/keyboards/bpiphany/pegasushoof/2013/2013.c @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "pegasushoof.h" +#include "2013.h" extern inline void ph_caps_led_on(void); diff --git a/keyboards/bpiphany/pegasushoof/pegasushoof.h b/keyboards/bpiphany/pegasushoof/2013/2013.h similarity index 67% rename from keyboards/bpiphany/pegasushoof/pegasushoof.h rename to keyboards/bpiphany/pegasushoof/2013/2013.h index b91235aaddd2..b3e911ab41b7 100644 --- a/keyboards/bpiphany/pegasushoof/pegasushoof.h +++ b/keyboards/bpiphany/pegasushoof/2013/2013.h @@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef PEGASUSHOOF_H -#define PEGASUSHOOF_H +#pragma once #include "matrix.h" #include "quantum.h" @@ -56,21 +55,21 @@ along with this program. If not, see . ) #define LAYOUT_tkl_jis( \ - KG6, KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0, KN5, KN7, KP7, \ - KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO7, KO2, KR4, KC4, KE4, \ - KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KQ4, KC5, KE5, \ - KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO3, KO1, \ - KB2, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KL0, KB3, KC6, \ - KP4, KD2, KN6, KG0, KQ6, KH0, KI0, KN0, KM0, KP1, KC0, KQ0, KR0 \ - ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ - /* 0 */ { KC_NO, KC_NO, KC0, KC_NO, KC_NO, KF0, KG0, KH0, KI0, KJ0, KK0, KL0, KM0, KN0, KO0, KC_NO, KQ0, KR0 }, \ - /* 1 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KG1, KH1, KI1, KJ1, KK1, KL1, KM1, KC_NO, KO1, KP1, KC_NO, KC_NO }, \ - /* 2 */ { KC_NO, KB2, KC_NO, KD2, KC_NO, KF2, KG2, KH2, KI2, KJ2, KK2, KL2, KM2, KC_NO, KO2, KC_NO, KC_NO, KC_NO }, \ - /* 3 */ { KC_NO, KB3, KC_NO, KC_NO, KC_NO, KF3, KG3, KH3, KI3, KJ3, KK3, KL3, KM3, KC_NO, KO3, KC_NO, KC_NO, KC_NO }, \ - /* 4 */ { KC_NO, KC_NO, KC4, KC_NO, KE4, KF4, KG4, KH4, KI4, KJ4, KK4, KL4, KM4, KC_NO, KO4, KP4, KQ4, KR4 }, \ - /* 5 */ { KC_NO, KC_NO, KC5, KC_NO, KE5, KF5, KG5, KH5, KI5, KJ5, KK5, KL5, KM5, KN5, KO5, KP5, KC_NO, KC_NO }, \ - /* 6 */ { KC_NO, KC_NO, KC6, KC_NO, KC_NO, KF6, KG6, KC_NO, KI6, KJ6, KK6, KL6, KC_NO, KN6, KO6, KC_NO, KQ6, KC_NO }, \ - /* 7 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KF7, KG7, KH7, KI7, KJ7, KK7, KL7, KK7, KL7, KO7, KP7, KC_NO, KC_NO } \ + KG6, KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0, KN5, KN7, KP7, \ + KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO7, KO2, KR4, KC4, KE4, \ + KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KQ4, KC5, KE5, \ + KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO3, KO1, \ + KB2, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KL0, KB3, KC6, \ + KP4, KD2, KN6, KG0, KQ6, KH0, KI0, KN0, KM0, KP1, KC0, KQ0, KR0 \ + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { KC_NO, KC_NO, KC0, KC_NO, KC_NO, KF0, KG0, KH0, KI0, KJ0, KK0, KL0, KM0, KN0, KO0, KC_NO, KQ0, KR0 }, \ + /* 1 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KG1, KH1, KI1, KJ1, KK1, KL1, KM1, KC_NO, KO1, KP1, KC_NO, KC_NO }, \ + /* 2 */ { KC_NO, KB2, KC_NO, KD2, KC_NO, KF2, KG2, KH2, KI2, KJ2, KK2, KL2, KM2, KC_NO, KO2, KC_NO, KC_NO, KC_NO }, \ + /* 3 */ { KC_NO, KB3, KC_NO, KC_NO, KC_NO, KF3, KG3, KH3, KI3, KJ3, KK3, KL3, KM3, KC_NO, KO3, KC_NO, KC_NO, KC_NO }, \ + /* 4 */ { KC_NO, KC_NO, KC4, KC_NO, KE4, KF4, KG4, KH4, KI4, KJ4, KK4, KL4, KM4, KC_NO, KO4, KP4, KQ4, KR4 }, \ + /* 5 */ { KC_NO, KC_NO, KC5, KC_NO, KE5, KF5, KG5, KH5, KI5, KJ5, KK5, KL5, KM5, KN5, KO5, KP5, KC_NO, KC_NO }, \ + /* 6 */ { KC_NO, KC_NO, KC6, KC_NO, KC_NO, KF6, KG6, KC_NO, KI6, KJ6, KK6, KL6, KC_NO, KN6, KO6, KC_NO, KQ6, KC_NO }, \ + /* 7 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KF7, KG7, KH7, KI7, KJ7, KK7, KL7, KK7, KL7, KO7, KP7, KC_NO, KC_NO } \ } inline void ph_caps_led_on(void) { DDRC |= (1<<6); PORTC &= ~(1<<6); } @@ -79,5 +78,3 @@ inline void ph_caps_led_off(void) { DDRC &= ~(1<<6); PORTC &= ~(1<<6); } inline void ph_sclk_led_on(void) { DDRC |= (1<<5); PORTC &= ~(1<<5); } inline void ph_sclk_led_off(void) { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } - -#endif diff --git a/keyboards/bpiphany/pegasushoof/2013/config.h b/keyboards/bpiphany/pegasushoof/2013/config.h new file mode 100644 index 000000000000..d2f81fedc35e --- /dev/null +++ b/keyboards/bpiphany/pegasushoof/2013/config.h @@ -0,0 +1,37 @@ +/* +Copyright 2016 Daniel Svensson + +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 . +*/ + +#pragma once + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6050 +#define DEVICE_VER 0x0104 +#define MANUFACTURER Filco +#define PRODUCT Majestouch TKL \\w The Pegasus Hoof 2013 +#define DESCRIPTION QMK firmware for Majestouch TKL + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 18 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/bpiphany/pegasushoof/matrix.c b/keyboards/bpiphany/pegasushoof/2013/matrix.c similarity index 100% rename from keyboards/bpiphany/pegasushoof/matrix.c rename to keyboards/bpiphany/pegasushoof/2013/matrix.c diff --git a/keyboards/bpiphany/pegasushoof/2013/rules.mk b/keyboards/bpiphany/pegasushoof/2013/rules.mk new file mode 100644 index 000000000000..3215e3588a3f --- /dev/null +++ b/keyboards/bpiphany/pegasushoof/2013/rules.mk @@ -0,0 +1,2 @@ +CUSTOM_MATRIX = yes +SRC = matrix.c diff --git a/keyboards/bpiphany/pegasushoof/2015/2015.c b/keyboards/bpiphany/pegasushoof/2015/2015.c new file mode 100644 index 000000000000..62841e7af189 --- /dev/null +++ b/keyboards/bpiphany/pegasushoof/2015/2015.c @@ -0,0 +1,58 @@ +/* +Copyright 2016 Daniel Svensson + +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 "2015.h" + + +extern inline void ph_caps_led_on(void); +extern inline void ph_caps_led_off(void); + +extern inline void ph_sclk_led_on(void); +extern inline void ph_sclk_led_off(void); + +__attribute__ ((weak)) +void matrix_init_user(void) { +}; + +__attribute__ ((weak)) +void matrix_scan_user(void) { +} + +__attribute__ ((weak)) +bool process_action_user(keyrecord_t *record) { + return true; +} + +__attribute__ ((weak)) +void led_set_user(uint8_t usb_led) { +} + +void matrix_init_kb(void) { + matrix_init_user(); +} + +void matrix_scan_kb(void) { + matrix_scan_user(); +} + +bool process_action_kb(keyrecord_t *record) { + return process_action_user(record); +} + +void led_set_kb(uint8_t usb_led) { + led_set_user(usb_led); +} diff --git a/keyboards/bpiphany/pegasushoof/2015/2015.h b/keyboards/bpiphany/pegasushoof/2015/2015.h new file mode 100644 index 000000000000..18bfc46b8149 --- /dev/null +++ b/keyboards/bpiphany/pegasushoof/2015/2015.h @@ -0,0 +1,82 @@ +/* +Copyright 2016 Daniel Svensson + +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 . +*/ + +#pragma once + +#include "matrix.h" +#include "quantum.h" + +#define ___ XXXXXXX + +#define LAYOUT( \ + KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ + KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \ + KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \ + KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ + KN2, KI6, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ + KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { ___ , KB0 , KC0 , KD0 , ___ , KF0 , KG0 , ___ , ___ , ___ , KK0 , KL0 , ___ , ___ , KO0 , ___ , ___ , KR0 }, \ + /* 1 */ { KA1 , KB1 , ___ , KD1 , KE1 , KF1 , KG1 , KH1 , KI1 , KJ1 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , ___ }, \ + /* 2 */ { ___ , KB2 , ___ , KD2 , KE2 , KF2 , KG2 , KH2 , KI2 , KJ2 , ___ , ___ , ___ , KN2 , ___ , KP2 , ___ , KR2 }, \ + /* 3 */ { ___ , KB3 , ___ , KD3 , KE3 , KF3 , KG3 , KH3 , KI3 , KJ3 , ___ , ___ , KM3 , KN3 , ___ , ___ , ___ , KR3 }, \ + /* 4 */ { KA4 , KB4 , ___ , KD4 , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , ___ , ___ , KO4 , ___ , KQ4 , KR4 }, \ + /* 5 */ { KA5 , ___ , KC5 , KD5 , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , KR5 }, \ + /* 6 */ { ___ , KB6 , KC6 , ___ , KE6 , KF6 , KG6 , KH6 , KI6 , KJ6 , KK6 , ___ , ___ , ___ , KO6 , ___ , ___ , KR6 }, \ + /* 7 */ { KA7 , KB7 , KC7 , KD7 , KE7 , KF7 , KG7 , KH7 , KI7 , KJ7 , ___ , ___ , ___ , ___ , KO7 , ___ , KQ7 , KR7 } \ + } + +#define LAYOUT_tkl_ansi( \ + KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ + KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \ + KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \ + KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ + KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ + KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ + ) LAYOUT( \ + KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ + KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \ + KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \ + KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ + KN2,KC_NO,KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ + KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ + ) + +#define LAYOUT_tkl_jis( \ + KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ + KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB5, KB2, KL4, KO4, KQ4, \ + KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KK4, KO7, KQ7, \ + KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB3, KB1, \ + KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KE0, KN3, KO6, \ + KA4, KP2, KC6, KJ0, KK6, KI0, KH0, KC0, KD0, KA1, KO0, KK0, KL0 \ + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { ___ , KB0 , KC0 , KD0 , KE0 , KF0 , KG0 , KH0 , KI0 , KJ0 , KK0 , KL0 , ___ , ___ , KO0 , ___ , ___ , KR0 }, \ + /* 1 */ { KA1 , KB1 , ___ , KD1 , KE1 , KF1 , KG1 , KH1 , KI1 , KJ1 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , }, \ + /* 2 */ { ___ , KB2 , ___ , KD2 , KE2 , KF2 , KG2 , KH2 , KI2 , KJ2 , ___ , ___ , ___ , KN2 , ___ , KP2 , ___ , KR2 }, \ + /* 3 */ { ___ , KB3 , ___ , KD3 , KE3 , KF3 , KG3 , KH3 , KI3 , KJ3 , ___ , ___ , ___ , KN3 , ___ , ___ , ___ , KR3 }, \ + /* 4 */ { KA4 , KB4 , ___ , KD4 , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , ___ , ___ , KO4 , ___ , KQ4 , KR4 }, \ + /* 5 */ { KA5 , KB5 , KC5 , KD5 , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , KR5 }, \ + /* 6 */ { ___ , KB6 , KC6 , ___ , KE6 , KF6 , KG6 , KH6 , ___ , KJ6 , KK6 , ___ , ___ , ___ , KO6 , ___ , ___ , KR6 }, \ + /* 7 */ { KA7 , KB7 , KC7 , KD7 , KE7 , KF7 , KG7 , KH7 , KI7 , KJ7 , ___ , ___ , ___ , ___ , KO7 , ___ , KQ7 , KR7 } \ +} + +inline void ph_caps_led_on(void) { DDRC |= (1<<6); PORTC &= ~(1<<6); } +inline void ph_caps_led_off(void) { DDRC &= ~(1<<6); PORTC &= ~(1<<6); } + +inline void ph_sclk_led_on(void) { DDRC |= (1<<5); PORTC &= ~(1<<5); } +inline void ph_sclk_led_off(void) { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } + diff --git a/keyboards/bpiphany/pegasushoof/2015/config.h b/keyboards/bpiphany/pegasushoof/2015/config.h new file mode 100644 index 000000000000..6edfa5993053 --- /dev/null +++ b/keyboards/bpiphany/pegasushoof/2015/config.h @@ -0,0 +1,38 @@ +/* +Copyright 2016 Daniel Svensson + +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 . +*/ + +#pragma once + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6050 +#define DEVICE_VER 0x0104 +#define MANUFACTURER Filco +#define PRODUCT Majestouch TKL \\w The Pegasus Hoof 2015 +#define DESCRIPTION QMK firmware for Majestouch TKL + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 18 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + diff --git a/keyboards/bpiphany/pegasushoof/2015/matrix.c b/keyboards/bpiphany/pegasushoof/2015/matrix.c new file mode 100644 index 000000000000..db0399354453 --- /dev/null +++ b/keyboards/bpiphany/pegasushoof/2015/matrix.c @@ -0,0 +1,146 @@ +/* + Copyright 2014 Ralf Schmitt + Copyright 2016 Daniel Svensson + + 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 +#include +#include +#include +#include "wait.h" +#include "print.h" +#include "debug.h" +#include "util.h" +#include "matrix.h" +#include "debounce.h" + +static matrix_row_t matrix[MATRIX_ROWS]; +static matrix_row_t matrix_debouncing[MATRIX_ROWS]; + +static matrix_row_t read_cols(void); +static void select_row(uint8_t col); + +inline uint8_t matrix_rows(void) +{ + return MATRIX_ROWS; +} + +inline uint8_t matrix_cols(void) +{ + return MATRIX_COLS; +} + +void matrix_init(void) +{ + /* Column output pins */ + DDRD |= 0b01111011; + /* Row input pins */ + DDRC &= ~0b10000000; + DDRB &= ~0b01111111; + PORTC |= 0b10000000; + PORTB |= 0b01111111; + + for (uint8_t i=0; i < matrix_rows(); i++) { + matrix[i] = 0; + matrix_debouncing[i] = 0; + } + + matrix_init_quantum(); +} + +uint8_t matrix_scan(void) +{ + bool changed = false; + for (uint8_t col = 0; col < MATRIX_COLS; col++) { + select_row(col); + wait_us(30); + matrix_row_t rows = read_cols(); + for (uint8_t row = 0; row < matrix_rows(); row++) { + bool prev_bit = matrix_debouncing[row] & ((matrix_row_t)1< +Copyright 2017 Danny Nguyen 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 @@ -15,27 +15,6 @@ 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 +#pragma once #include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6050 -#define DEVICE_VER 0x0104 -#define MANUFACTURER Filco -#define PRODUCT Majestouch TKL \\w The Pegasus Hoof -#define DESCRIPTION QMK firmware for Majestouch TKL - -/* key matrix size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 18 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -#endif diff --git a/keyboards/bpiphany/pegasushoof/readme.md b/keyboards/bpiphany/pegasushoof/readme.md index 10ec79300ace..ab49db03c43d 100644 --- a/keyboards/bpiphany/pegasushoof/readme.md +++ b/keyboards/bpiphany/pegasushoof/readme.md @@ -3,7 +3,7 @@ A replacement controller that turns your Filco Majestouch 87/88 mechanical keyboard into a fully programmable keyboard. Keyboard Maintainer: QMK Community -Hardware Supported: Pegasus Hoof +Hardware Supported: Pegasus Hoof, revisions [20131001](2013/) and [20150108](2015/) Hardware Availability: [1upkeyboards](https://www.1upkeyboards.com/shop/controllers/filco-pegasus-hoof-controller/) Make example for this keyboard (after setting up your build environment): @@ -11,3 +11,11 @@ Make example for this keyboard (after setting up your build environment): make bpiphany/pegasus_hoof:default See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +### Additional Resources + +With many thanks to Bathroom Epiphanies for all the kind advice and help. + + * [Schematic](https://deskthority.net/wiki/Costar_replacement_controllers#Schematic) + * [bpiphany TMK source](https://github.com/BathroomEpiphanies/epiphanies_tmk_keyboard) + * [bpiphany QMK source](https://github.com/BathroomEpiphanies/epiphanies_qmk_keyboard) diff --git a/keyboards/bpiphany/pegasushoof/rules.mk b/keyboards/bpiphany/pegasushoof/rules.mk index 00e4bb0ea10e..e81ee886efe9 100644 --- a/keyboards/bpiphany/pegasushoof/rules.mk +++ b/keyboards/bpiphany/pegasushoof/rules.mk @@ -64,5 +64,4 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. LAYOUTS = tkl_ansi -CUSTOM_MATRIX = yes -SRC = matrix.c +DEFAULT_FOLDER=bpiphany/pegasushoof/2013 From f6da00b85d32f5bc451f5c89e26845434ae62bed Mon Sep 17 00:00:00 2001 From: Yan-Fa Li Date: Sat, 24 Aug 2019 23:44:20 -0700 Subject: [PATCH 036/416] [Keyboard] Maartenwut Wonderland PCB (#6492) * Initial Commit * ID * Use current manu name * Fix define DEBOUNCE Co-Authored-By: fauxpark * Fix NUM Lock LED detection Co-Authored-By: fauxpark * Fix CAPs LED detection Co-Authored-By: fauxpark * Fix Scroll Lock LED detection Co-Authored-By: fauxpark * Use correct convention for setting pins * Move folder to maartenwut - enable velocikey * Fix columns size * Sync with homerowco * Add Keebs keymap * Best practices * Latest keymap changes from homerowco --- keyboards/maartenwut/wonderland/config.h | 55 ++++++++++++++++++ .../wonderland/keymaps/default/keymap.c | 25 ++++++++ .../wonderland/keymaps/keebs/keymap.c | 26 +++++++++ keyboards/maartenwut/wonderland/rules.mk | 58 +++++++++++++++++++ keyboards/maartenwut/wonderland/wonderland.c | 42 ++++++++++++++ keyboards/maartenwut/wonderland/wonderland.h | 22 +++++++ 6 files changed, 228 insertions(+) create mode 100755 keyboards/maartenwut/wonderland/config.h create mode 100755 keyboards/maartenwut/wonderland/keymaps/default/keymap.c create mode 100755 keyboards/maartenwut/wonderland/keymaps/keebs/keymap.c create mode 100755 keyboards/maartenwut/wonderland/rules.mk create mode 100755 keyboards/maartenwut/wonderland/wonderland.c create mode 100755 keyboards/maartenwut/wonderland/wonderland.h diff --git a/keyboards/maartenwut/wonderland/config.h b/keyboards/maartenwut/wonderland/config.h new file mode 100755 index 000000000000..4da601257a85 --- /dev/null +++ b/keyboards/maartenwut/wonderland/config.h @@ -0,0 +1,55 @@ +/* +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 . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xA71C +#define DEVICE_VER 0x0003 +#define MANUFACTURER Maartenwut +#define PRODUCT Wonderland +#define DESCRIPTION "QMK Firmware for the Wonderland" + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {B0,D1,D2,D3,D5} +#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,E6,C7,C6,B6,B5,B4,D7,D6,D4} +#define UNUSED_PINS + + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Backlight configuration + */ +#define RGB_DI_PIN B7 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 12 + +#define QMK_ESC_OUTPUT F0 // usually COL +#define QMK_ESC_INPUT B0 // usually ROW +#define QMK_LED B1 diff --git a/keyboards/maartenwut/wonderland/keymaps/default/keymap.c b/keyboards/maartenwut/wonderland/keymaps/default/keymap.c new file mode 100755 index 000000000000..fb876443b38d --- /dev/null +++ b/keyboards/maartenwut/wonderland/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _FUNC +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_BASE] = LAYOUT( + KC_ESC, KC_1, 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_DEL, KC_BSPC, \ + KC_F10, 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, \ + RGB_TOG, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), \ + KC_LCTL, KC_LAPO, KC_BSPC, KC_LGUI, KC_SPC, KC_RAPC, KC_RCTRL \ + ), +[_FUNC] = LAYOUT( + RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET, \ + RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, \ + KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, \ + _______, KC_LALT, _______, _______, _______, KC_RALT, _______ \ + ) +}; diff --git a/keyboards/maartenwut/wonderland/keymaps/keebs/keymap.c b/keyboards/maartenwut/wonderland/keymaps/keebs/keymap.c new file mode 100755 index 000000000000..437370bb731e --- /dev/null +++ b/keyboards/maartenwut/wonderland/keymaps/keebs/keymap.c @@ -0,0 +1,26 @@ +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _FUNC +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_BASE] = LAYOUT( + KC_ESC, 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_DEL, KC_BSPC, \ + KC_F10, 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, \ + RGB_HUI, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), \ + KC_LCTL, KC_LAPO, KC_LGUI, RGUI(KC_SPC), KC_SPC, KC_RAPC, KC_RCTRL \ + ), +[_FUNC] = LAYOUT( + RGB_TOG, VLK_TOG, KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET, \ +RGB_MODE_FORWARD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ +RGB_MODE_REVERSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, \ + KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX, \ + KC_LCTL, KC_LALT, KC_BSPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL \ + ) +}; + + diff --git a/keyboards/maartenwut/wonderland/rules.mk b/keyboards/maartenwut/wonderland/rules.mk new file mode 100755 index 000000000000..498076d4ea0d --- /dev/null +++ b/keyboards/maartenwut/wonderland/rules.mk @@ -0,0 +1,58 @@ +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 + + +BOOTLOADER = qmk-dfu + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE = lite # 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 = no # 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 = no # 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 +AUTO_SHIFT_ENABLE = no +VELOCIKEY_ENABLE = yes diff --git a/keyboards/maartenwut/wonderland/wonderland.c b/keyboards/maartenwut/wonderland/wonderland.c new file mode 100755 index 000000000000..9f3233e0f153 --- /dev/null +++ b/keyboards/maartenwut/wonderland/wonderland.c @@ -0,0 +1,42 @@ +#include "wonderland.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 + setPinOutput(B1); + setPinOutput(B2); + setPinOutput(B3); +} + +void led_set_kb(uint8_t usb_led) { + if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { + writePinLow(B1); + } else { + writePinHigh(B1); + } + + if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + writePinLow(B2); + } else { + writePinHigh(B2); + } + + if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { + writePinLow(B3); + } else { + writePinHigh(B3); + } + led_set_user(usb_led); +} diff --git a/keyboards/maartenwut/wonderland/wonderland.h b/keyboards/maartenwut/wonderland/wonderland.h new file mode 100755 index 000000000000..075e3f64b413 --- /dev/null +++ b/keyboards/maartenwut/wonderland/wonderland.h @@ -0,0 +1,22 @@ +#pragma once +#include "quantum.h" + +// readability +#define XXX KC_NO +#define LAYOUT( \ + k10, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k20, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k30, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k41, k43, k45, k46, k48, k4a, k4e \ +) \ +{ \ + {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, k1e}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, k2e}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e}, \ + {XXX, k41, XXX, k43, XXX, k45, k46, XXX, k48, XXX, k4a, XXX, XXX, XXX, k4e} \ +} + +void matrix_init_user(void); +void matrix_scan_user(void); From cbe1af47de94092b4374c95e9f190fbf5ab0f7d9 Mon Sep 17 00:00:00 2001 From: Jonathan Rascher Date: Sun, 25 Aug 2019 10:40:32 -0500 Subject: [PATCH 037/416] Add new 60% Tsangan HHKB layout (#6607) --- .../community/60_tsangan_hhkb/bcat/keymap.c | 42 +++++++++++++++++++ .../community/60_tsangan_hhkb/bcat/readme.md | 18 ++++++++ 2 files changed, 60 insertions(+) create mode 100644 layouts/community/60_tsangan_hhkb/bcat/keymap.c create mode 100644 layouts/community/60_tsangan_hhkb/bcat/readme.md diff --git a/layouts/community/60_tsangan_hhkb/bcat/keymap.c b/layouts/community/60_tsangan_hhkb/bcat/keymap.c new file mode 100644 index 000000000000..3436941b1cdf --- /dev/null +++ b/layouts/community/60_tsangan_hhkb/bcat/keymap.c @@ -0,0 +1,42 @@ +#include QMK_KEYBOARD_H + +enum layer { + LAYER_DEFAULT, + LAYER_FUNCTION, + LAYER_ADJUST, +}; + +/* Switch to function layer when held. */ +#define LY_FUNC MO(LAYER_FUNCTION) + +/* Switch to adjust layer when held; send menu key when tapped. */ +#define LY_ADJST LT(LAYER_ADJUST, KC_APP) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Default layer: http://www.keyboard-layout-editor.com/#/gists/86b33d75aa6f56d8781ab3d8475f4e77 */ + [LAYER_DEFAULT] = LAYOUT_60_tsangan_hhkb( + 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_GRV, + 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_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, LY_FUNC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LY_ADJST, KC_RCTL + ), + + /* Function layer: http://www.keyboard-layout-editor.com/#/gists/f6311fd7e315de781143b80eb040a551 */ + [LAYER_FUNCTION] = LAYOUT_60_tsangan_hhkb( + _______, 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_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, + KC_CAPS, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, _______, KC_MUTE, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), + + /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/65ac939caec878401603bc36290852d4 */ + [LAYER_ADJUST] = LAYOUT_60_tsangan_hhkb( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, EEP_RST, RESET, _______, _______, _______, RGB_VAI, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_TOG, + _______, _______, _______, _______, _______, BL_BRTG, BL_DEC, BL_INC, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/layouts/community/60_tsangan_hhkb/bcat/readme.md b/layouts/community/60_tsangan_hhkb/bcat/readme.md new file mode 100644 index 000000000000..bb1b59e63e04 --- /dev/null +++ b/layouts/community/60_tsangan_hhkb/bcat/readme.md @@ -0,0 +1,18 @@ +# bcat's 60% Tsangan HHKB layout + +This is a normal Tsangan/HHKB (split backspace, split right shift) layout with +arrow and navigation keys that match a standard HHKB layout, as well as media +keys centered around the WASD cluster. Additionally, the redundant right Super +key on the bottom row actives an adjust layer to control RGB underglow. + +## Default layer + +![Default layer layout](https://i.imgur.com/cBYvCOh.png) + +## Function layer + +![Function layer layout](https://i.imgur.com/ut9PvhF.png) + +## Adjust layer + +![Adjust layer layout](https://i.imgur.com/Z6YIxdP.png) From c289a4cb2044c618257ec1e426ccf9c6db8fbf66 Mon Sep 17 00:00:00 2001 From: Ethan Madden Date: Sun, 25 Aug 2019 08:43:47 -0700 Subject: [PATCH 038/416] RGB Inidcator example for new van pcbs (#6544) * RGB Inidcator example for new van pcbs * simplify config.h As per @drashna in CR --- keyboards/thevankeyboards/minivan/config.h | 90 +------------------ .../minivan/keymaps/jetpacktuxedo/config.h | 7 +- .../minivan/keymaps/jetpacktuxedo/keymap.c | 53 ++++++++++- .../minivan/keymaps/jetpacktuxedo/rules.mk | 2 +- keyboards/thevankeyboards/minivan/minivan.c | 27 ------ 5 files changed, 57 insertions(+), 122 deletions(-) diff --git a/keyboards/thevankeyboards/minivan/config.h b/keyboards/thevankeyboards/minivan/config.h index 22fb37762940..7bc8192ed3a1 100644 --- a/keyboards/thevankeyboards/minivan/config.h +++ b/keyboards/thevankeyboards/minivan/config.h @@ -66,91 +66,9 @@ along with this program. If not, see . /* 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. - * - */ - -/* 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 +/* RGB Setup */ +#define RGB_DI_PIN D0 +#define RGBLED_NUM 3 +#define RGBLIGHT_SLEEP #endif diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/config.h b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/config.h index 5f5872beccf7..426b76b3b19d 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/config.h +++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/config.h @@ -1,7 +1,4 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" +#pragma once #define PERMISSIVE_HOLD -#endif +#define RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c index 4c045ac0a57a..f9bb64e05f29 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c +++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c @@ -11,13 +11,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_arrow_command( /* LAYER 2 */ 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_TRNS, KC_MINS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_QUOT, KC_TRNS, + KC_TRNS, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_QUOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_PGUP, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), [2] = LAYOUT_arrow_command( /* LAYER 1 */ 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_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_DQUO, KC_TRNS, + KC_TRNS, KC_UNDS, KC_PLUS, KC_COLN, KC_DQUO, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_DQUO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_PGUP, KC_PIPE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), @@ -30,7 +30,54 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [4] = LAYOUT_arrow_command( /* Gaming Layer*/ KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, 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_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(5, KC_SLSH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [5] = LAYOUT_arrow_command( /* RESET Layer*/ + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; + +void keyboard_post_init_user(void) { + #ifdef RGBLIGHT_ENABLE + // Set up RGB effects on _only_ the third LED (index 2) + rgblight_set_effect_range(2, 1); + // Set LED effects to breathing mode in a tealish blue color + rgblight_sethsv_noeeprom(185, 255, 255); + rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2); + + // Init the first two LEDs to a static color + setrgb(0, 0, 0, (LED_TYPE *)&led[0]); + setrgb(0, 0, 0, (LED_TYPE *)&led[1]); + rgblight_set(); + #endif //RGBLIGHT_ENABLE +} + +uint32_t layer_state_set_user(uint32_t state){ + #ifdef RGBLIGHT_ENABLE + uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0; + uint8_t led1r = 0; uint8_t led1g = 0; uint8_t led1b = 0; + + if (layer_state_cmp(state, 1)) { + led0r = 255; + } + if (layer_state_cmp(state, 2)) { + led0g = 255; + } + + if (layer_state_cmp(state, 4)) { + led1b = 255; + } + if (layer_state_cmp(state, 5)) { + led1r = 255; + } + + setrgb(led0r, led0g, led0b, (LED_TYPE *)&led[0]); + setrgb(led1r, led1g, led1b, (LED_TYPE *)&led[1]); + rgblight_set(); + #endif //RGBLIGHT_ENABLE + return state; +} diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/rules.mk index d7ca73ac58f2..4a27701076f1 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/rules.mk +++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/rules.mk @@ -13,5 +13,5 @@ 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. +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/thevankeyboards/minivan/minivan.c b/keyboards/thevankeyboards/minivan/minivan.c index b260195cec0c..19996f9208aa 100644 --- a/keyboards/thevankeyboards/minivan/minivan.c +++ b/keyboards/thevankeyboards/minivan/minivan.c @@ -1,28 +1 @@ #include "minivan.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); -} From f22c5c17b6fe069bec1241262a1c27eb89d3d3af Mon Sep 17 00:00:00 2001 From: skullydazed Date: Sun, 25 Aug 2019 11:58:24 -0700 Subject: [PATCH 039/416] Refactor `qmk compile-json` to `qmk compile` (#6592) --- bin/qmk | 2 +- docs/cli.md | 17 ++++++--- lib/python/qmk/cli/compile.py | 53 ++++++++++++++++++++++++++ lib/python/qmk/cli/compile/__init__.py | 0 lib/python/qmk/cli/compile/json.py | 44 --------------------- 5 files changed, 66 insertions(+), 50 deletions(-) create mode 100755 lib/python/qmk/cli/compile.py delete mode 100644 lib/python/qmk/cli/compile/__init__.py delete mode 100755 lib/python/qmk/cli/compile/json.py diff --git a/bin/qmk b/bin/qmk index dfd31e20068c..d4b584b10e7c 100755 --- a/bin/qmk +++ b/bin/qmk @@ -38,7 +38,7 @@ with open('requirements.txt', 'r') as fd: # Figure out our version command = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags'] -result = subprocess.run(command, universal_newlines=True, capture_output=True) +result = subprocess.run(command, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) if result.returncode == 0: os.environ['QMK_VERSION'] = 'QMK ' + result.stdout.strip() diff --git a/docs/cli.md b/docs/cli.md index 0365f2c9c808..1843f42cd1e3 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -6,7 +6,8 @@ This page describes how to setup and use the QMK CLI. The QMK CLI makes building and working with QMK keyboards easier. We have provided a number of commands to help you work with QMK: -* `qmk compile-json` +* `qmk compile` +* `qmk doctor` # Setup @@ -20,12 +21,18 @@ You may want to add this to your `.profile`, `.bash_profile`, `.zsh_profile`, or # Commands -## `qmk compile-json` +## `qmk compile` -This command allows you to compile JSON files you have downloaded from . +This command allows you to compile firmware from any directory. You can compile JSON exports from or compile keymaps in the repo. -**Usage**: +**Usage for Configurator Exports**: ``` -qmk compile-json mine.json +qmk compile +``` + +**Usage for Keymaps**: + +``` +qmk compile -kb -km ``` diff --git a/lib/python/qmk/cli/compile.py b/lib/python/qmk/cli/compile.py new file mode 100755 index 000000000000..7e14ad8fbf4c --- /dev/null +++ b/lib/python/qmk/cli/compile.py @@ -0,0 +1,53 @@ +"""Compile a QMK Firmware. + +You can compile a keymap already in the repo or using a QMK Configurator export. +""" +import json +import os +import sys +import subprocess +from argparse import FileType + +from milc import cli + +import qmk.keymap +import qmk.path + + +@cli.argument('filename', nargs='?', type=FileType('r'), help='The configurator export to compile') +@cli.argument('-kb', '--keyboard', help='The keyboard to build a firmware for. Ignored when a configurator export is supplied.') +@cli.argument('-km', '--keymap', help='The keymap to build a firmware for. Ignored when a configurator export is supplied.') +@cli.entrypoint('Compile a QMK Firmware.') +def main(cli): + """Compile a QMK Firmware. + + If a Configurator export is supplied this command will create a new keymap, overwriting an existing keymap if one exists. + + FIXME(skullydazed): add code to check and warn if the keymap already exists + + If --keyboard and --keymap are provided this command will build a firmware based on that. + + """ + if cli.args.filename: + # Parse the configurator json + user_keymap = json.load(cli.args.filename) + + # Generate the keymap + keymap_path = qmk.path.keymap(user_keymap['keyboard']) + cli.log.info('Creating {fg_cyan}%s{style_reset_all} keymap in {fg_cyan}%s', user_keymap['keymap'], keymap_path) + qmk.keymap.write(user_keymap['keyboard'], user_keymap['keymap'], user_keymap['layout'], user_keymap['layers']) + cli.log.info('Wrote keymap to {fg_cyan}%s/%s/keymap.c', keymap_path, user_keymap['keymap']) + + # Compile the keymap + command = ['make', ':'.join((user_keymap['keyboard'], user_keymap['keymap']))] + + elif cli.config.general.keyboard and cli.config.general.keymap: + # Generate the make command for a specific keyboard/keymap. + command = ['make', ':'.join((cli.config.general.keyboard, cli.config.general.keymap))] + + else: + cli.log.error('You must supply a configurator export or both `--keyboard` and `--keymap`.') + return False + + cli.log.info('Compiling keymap with {fg_cyan}%s\n\n', ' '.join(command)) + subprocess.run(command) diff --git a/lib/python/qmk/cli/compile/__init__.py b/lib/python/qmk/cli/compile/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/lib/python/qmk/cli/compile/json.py b/lib/python/qmk/cli/compile/json.py deleted file mode 100755 index 89c16b206311..000000000000 --- a/lib/python/qmk/cli/compile/json.py +++ /dev/null @@ -1,44 +0,0 @@ -"""Create a keymap directory from a configurator export. -""" -import json -import os -import sys -import subprocess - -from milc import cli - -import qmk.keymap -import qmk.path - - -@cli.argument('filename', help='Configurator JSON export') -@cli.entrypoint('Compile a QMK Configurator export.') -def main(cli): - """Compile a QMK Configurator export. - - This command creates a new keymap from a configurator export, overwriting an existing keymap if one exists. - - FIXME(skullydazed): add code to check and warn if the keymap already exists - """ - # Error checking - if cli.args.filename == ('-'): - cli.log.error('Reading from STDIN is not (yet) supported.') - exit(1) - if not os.path.exists(qmk.path.normpath(cli.args.filename)): - cli.log.error('JSON file does not exist!') - exit(1) - - # Parse the configurator json - with open(qmk.path.normpath(cli.args.filename), 'r') as fd: - user_keymap = json.load(fd) - - # Generate the keymap - keymap_path = qmk.path.keymap(user_keymap['keyboard']) - cli.log.info('Creating {fg_cyan}%s{style_reset_all} keymap in {fg_cyan}%s', user_keymap['keymap'], keymap_path) - qmk.keymap.write(user_keymap['keyboard'], user_keymap['keymap'], user_keymap['layout'], user_keymap['layers']) - cli.log.info('Wrote keymap to {fg_cyan}%s/%s/keymap.c', keymap_path, user_keymap['keymap']) - - # Compile the keymap - command = ['make', ':'.join((user_keymap['keyboard'], user_keymap['keymap']))] - cli.log.info('Compiling keymap with {fg_cyan}%s\n\n', ' '.join(command)) - subprocess.run(command) From 957070a6b5886719557b6880afa7e3716548c18a Mon Sep 17 00:00:00 2001 From: XScorpion2 Date: Sun, 25 Aug 2019 14:37:55 -0500 Subject: [PATCH 040/416] Added OLED Display autoscroll during periods of OLED data inactivity (#6546) * Added OLED Display autoscroll during periods of OLED data inactivity. * Fixing compile errors * Feedback from review --- docs/feature_oled_driver.md | 24 +++++++------ drivers/oled/oled_driver.c | 40 +++++++++++++++++---- drivers/oled/oled_driver.h | 8 +++++ tmk_core/common/timer.h | 11 ++++++ tmk_core/protocol/usb_hid/override_wiring.c | 7 ++-- users/xulkal/custom_tap_dance.c | 1 - users/xulkal/layouts.h | 2 +- users/xulkal/process_records.c | 3 +- users/xulkal/rules.mk | 3 +- users/xulkal/timer_utils.c | 12 ------- users/xulkal/timer_utils.h | 6 ---- users/xulkal/xulkal.h | 1 - 12 files changed, 72 insertions(+), 46 deletions(-) delete mode 100644 users/xulkal/timer_utils.c delete mode 100644 users/xulkal/timer_utils.h diff --git a/docs/feature_oled_driver.md b/docs/feature_oled_driver.md index 9d19beedb2be..623f1816ac18 100644 --- a/docs/feature_oled_driver.md +++ b/docs/feature_oled_driver.md @@ -96,17 +96,19 @@ void oled_task_user(void) { ## Basic Configuration -| Define | Default | Description | -|------------------------|-------------------|----------------------------------------------------------------------------------------------------------------------------| -| `OLED_DISPLAY_ADDRESS` | `0x3C` | The i2c address of the OLED Display | -| `OLED_FONT_H` | `"glcdfont.c"` | The font code file to use for custom fonts | -| `OLED_FONT_START` | `0` | The starting characer index for custom fonts | -| `OLED_FONT_END` | `224` | The ending characer index for custom fonts | -| `OLED_FONT_WIDTH` | `6` | The font width | -| `OLED_FONT_HEIGHT` | `8` | The font height (untested) | -| `OLED_DISABLE_TIMEOUT` | *Not defined* | Disables the built in OLED timeout feature. Useful when implementing custom timeout rules. | -| `OLED_IC` | `OLED_IC_SSD1306` | Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. | -| `OLED_COLUMN_OFFSET` | `0` | (SH1106 only.) Shift output to the right this many pixels.
Useful for 128x64 displays centered on a 132x64 SH1106 IC. | +| Define | Default | Description | +|----------------------------|-------------------|----------------------------------------------------------------------------------------------------------------------------| +| `OLED_DISPLAY_ADDRESS` | `0x3C` | The i2c address of the OLED Display | +| `OLED_FONT_H` | `"glcdfont.c"` | The font code file to use for custom fonts | +| `OLED_FONT_START` | `0` | The starting characer index for custom fonts | +| `OLED_FONT_END` | `224` | The ending characer index for custom fonts | +| `OLED_FONT_WIDTH` | `6` | The font width | +| `OLED_FONT_HEIGHT` | `8` | The font height (untested) | +| `OLED_TIMEOUT` | `60000` | Turns off the OLED screen after 60000ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. | +| `OLED_SCROLL_TIMEOUT` | `0` | Scrolls the OLED screen after 0ms of OLED inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. | +| `OLED_SCROLL_TIMEOUT_RIGHT`| *Not defined* | Scroll timeout direction is right when defined, left when undefined. | +| `OLED_IC` | `OLED_IC_SSD1306` | Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. | +| `OLED_COLUMN_OFFSET` | `0` | (SH1106 only.) Shift output to the right this many pixels.
Useful for 128x64 displays centered on a 132x64 SH1106 IC. | ## 128x64 & Custom sized OLED Displays diff --git a/drivers/oled/oled_driver.c b/drivers/oled/oled_driver.c index 2b3dd7ff2fc3..3dad72addb57 100644 --- a/drivers/oled/oled_driver.c +++ b/drivers/oled/oled_driver.c @@ -114,8 +114,11 @@ bool oled_active = false; bool oled_scrolling = false; uint8_t oled_rotation = 0; uint8_t oled_rotation_width = 0; -#if !defined(OLED_DISABLE_TIMEOUT) - uint16_t oled_last_activity; +#if OLED_TIMEOUT > 0 + uint32_t oled_timeout; +#endif +#if OLED_SCROLL_TIMEOUT > 0 + uint32_t oled_scroll_timeout; #endif // Internal variables to reduce math instructions @@ -209,6 +212,13 @@ bool oled_init(uint8_t rotation) { return false; } +#if OLED_TIMEOUT > 0 + oled_timeout = timer_read32() + OLED_TIMEOUT; +#endif +#if OLED_SCROLL_TIMEOUT > 0 + oled_scroll_timeout = timer_read32() + OLED_SCROLL_TIMEOUT; +#endif + oled_clear(); oled_initialized = true; oled_active = true; @@ -457,8 +467,8 @@ void oled_write_ln_P(const char *data, bool invert) { #endif // defined(__AVR__) bool oled_on(void) { -#if !defined(OLED_DISABLE_TIMEOUT) - oled_last_activity = timer_read(); +#if OLED_TIMEOUT > 0 + oled_timeout = timer_read32() + OLED_TIMEOUT; #endif static const uint8_t PROGMEM display_on[] = { I2C_CMD, DISPLAY_ON }; @@ -522,6 +532,7 @@ bool oled_scroll_off(void) { return oled_scrolling; } oled_scrolling = false; + oled_dirty = -1; } return !oled_scrolling; } @@ -549,15 +560,32 @@ void oled_task(void) { oled_task_user(); +#if OLED_SCROLL_TIMEOUT > 0 + if (oled_dirty && oled_scrolling) { + oled_scroll_timeout = timer_read32() + OLED_SCROLL_TIMEOUT; + oled_scroll_off(); + } +#endif + // Smart render system, no need to check for dirty oled_render(); // Display timeout check -#if !defined(OLED_DISABLE_TIMEOUT) - if (oled_active && timer_elapsed(oled_last_activity) > OLED_TIMEOUT) { +#if OLED_TIMEOUT > 0 + if (oled_active && timer_expired32(timer_read32(), oled_timeout)) { oled_off(); } #endif + +#if OLED_SCROLL_TIMEOUT > 0 + if (!oled_scrolling && timer_expired32(timer_read32(), oled_scroll_timeout)) { +#ifdef OLED_SCROLL_TIMEOUT_RIGHT + oled_scroll_right(); +#else + oled_scroll_left(); +#endif + } +#endif } __attribute__((weak)) diff --git a/drivers/oled/oled_driver.h b/drivers/oled/oled_driver.h index 03dda2e64a56..4f6254c98cea 100644 --- a/drivers/oled/oled_driver.h +++ b/drivers/oled/oled_driver.h @@ -138,6 +138,14 @@ along with this program. If not, see . #define OLED_FONT_HEIGHT 8 #endif +#if !defined(OLED_TIMEOUT) + #if defined(OLED_DISABLE_TIMEOUT) + #define OLED_TIMEOUT 0 + #else + #define OLED_TIMEOUT 60000 + #endif +#endif + // OLED Rotation enum values are flags typedef enum { OLED_ROTATION_0 = 0, diff --git a/tmk_core/common/timer.h b/tmk_core/common/timer.h index fe23f87aecd6..a8dd85663fab 100644 --- a/tmk_core/common/timer.h +++ b/tmk_core/common/timer.h @@ -19,6 +19,7 @@ along with this program. If not, see . #define TIMER_H 1 #include +#include #if defined(__AVR__) #include "avr/timer_avr.h" @@ -46,6 +47,16 @@ uint32_t timer_read32(void); uint16_t timer_elapsed(uint16_t last); uint32_t timer_elapsed32(uint32_t last); +// Utility functions to check if a future time has expired & autmatically handle time wrapping if checked / reset frequently (half of max value) +inline bool timer_expired(uint16_t current, uint16_t last) +{ + return current - last < 0x8000; +} + +inline bool timer_expired32(uint32_t current, uint32_t future) { + return current - future < 0x80000000; +} + #ifdef __cplusplus } #endif diff --git a/tmk_core/protocol/usb_hid/override_wiring.c b/tmk_core/protocol/usb_hid/override_wiring.c index 1e9a94ce266d..52f03c300fb4 100644 --- a/tmk_core/protocol/usb_hid/override_wiring.c +++ b/tmk_core/protocol/usb_hid/override_wiring.c @@ -4,14 +4,13 @@ #define __DELAY_BACKWARD_COMPATIBLE__ #include #include "common/timer.h" -#include "Arduino.h" -unsigned long millis() +unsigned long millis(void) { return timer_read32(); } -unsigned long micros() +unsigned long micros(void) { return timer_read32() * 1000UL; } @@ -23,7 +22,7 @@ void delayMicroseconds(unsigned int us) { _delay_us(us); } -void init() +void init(void) { timer_init(); } diff --git a/users/xulkal/custom_tap_dance.c b/users/xulkal/custom_tap_dance.c index e0f90ea110df..2c5d145f1bb6 100644 --- a/users/xulkal/custom_tap_dance.c +++ b/users/xulkal/custom_tap_dance.c @@ -1,6 +1,5 @@ #include "custom_tap_dance.h" #include "custom_keycodes.h" -#include "timer_utils.h" #ifdef TAP_DANCE_ENABLE diff --git a/users/xulkal/layouts.h b/users/xulkal/layouts.h index 89bdfb60d355..d4b7084186a2 100644 --- a/users/xulkal/layouts.h +++ b/users/xulkal/layouts.h @@ -18,7 +18,7 @@ #define _________________QWERTY_L2_________________ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T #define _________________QWERTY_L3_________________ RIS_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G #define _________________QWERTY_L4_________________ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B -#define _________________QWERTY_L5_________________ KC_LCPO, KC_LGUI, LOWER, RAISE, KC_LALT, KC_SPC +#define _________________QWERTY_L5_________________ KC_LCPO, KC_LGUI, KC_LALT, LOWER, RAISE, KC_SPC #define _________________QWERTY_R1_________________ KC_6, KC_7, KC_8, KC_9, KC_0, TD_BSPC #define _________________QWERTY_R2_________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS diff --git a/users/xulkal/process_records.c b/users/xulkal/process_records.c index 245d4955fbe8..9c0274823bd1 100644 --- a/users/xulkal/process_records.c +++ b/users/xulkal/process_records.c @@ -1,6 +1,5 @@ #include "process_records.h" #include "custom_keycodes.h" -#include "timer_utils.h" #ifdef RGB_ENABLE #include "custom_rgb.h" @@ -34,7 +33,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) reset_timer = timer_read() + 500; - else if (timer_expired(reset_timer)) + else if (timer_expired(timer_read(), reset_timer)) reset_keyboard(); } return false; diff --git a/users/xulkal/rules.mk b/users/xulkal/rules.mk index c3834ff5f0bd..8f8365ea7e67 100644 --- a/users/xulkal/rules.mk +++ b/users/xulkal/rules.mk @@ -1,7 +1,6 @@ SRC += xulkal.c \ process_records.c \ - custom_tap_dance.c \ - timer_utils.c + custom_tap_dance.c # Some usual defaults MOUSEKEY_ENABLE = no # Mouse keys (+4700) diff --git a/users/xulkal/timer_utils.c b/users/xulkal/timer_utils.c deleted file mode 100644 index 5f5d9a1ebfd7..000000000000 --- a/users/xulkal/timer_utils.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "timer_utils.h" - -bool timer_expired(uint16_t last) -{ - return timer_read() - last < 0x8000; -} - -bool timer_expired32(uint32_t last) -{ - return timer_read32() - last < 0x80000000; -} - diff --git a/users/xulkal/timer_utils.h b/users/xulkal/timer_utils.h deleted file mode 100644 index 7e2a0b74db9b..000000000000 --- a/users/xulkal/timer_utils.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once -#include "timer.h" -#include - -bool timer_expired(uint16_t last); -bool timer_expired32(uint32_t last); diff --git a/users/xulkal/xulkal.h b/users/xulkal/xulkal.h index 9bc83b7de75a..32df8df0c64f 100644 --- a/users/xulkal/xulkal.h +++ b/users/xulkal/xulkal.h @@ -2,6 +2,5 @@ #include "process_records.h" #include "layouts.h" -#include "timer_utils.h" #include "custom_keycodes.h" #include "custom_tap_dance.h" From 0b89809ac4e2ff0e84f9e4cef768c18165ef38ba Mon Sep 17 00:00:00 2001 From: Gabes Mak Date: Sun, 25 Aug 2019 20:50:29 +0100 Subject: [PATCH 041/416] [Keymap] Redox_w Use layer_state_set_user instead of matrix_scan_user (#6608) * use layer_state_set_user * fix --- keyboards/redox_w/keymaps/default/keymap.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/keyboards/redox_w/keymaps/default/keymap.c b/keyboards/redox_w/keymaps/default/keymap.c index 9cfc1734ebfb..37af03b3eea2 100644 --- a/keyboards/redox_w/keymaps/default/keymap.c +++ b/keyboards/redox_w/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_BKSL ,KC_RSFT , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - KC_LGUI ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT + KC_LGUI ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), @@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX + _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX + XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), @@ -85,16 +85,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ 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 //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ) }; -void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - - switch (layer) { +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { case _QWERTY: set_led_off; break; @@ -110,6 +108,7 @@ void matrix_scan_user(void) { default: break; } -}; + return state; +} From f2d9f912b1e75e6e5b492ba21be8b7ad682c470d Mon Sep 17 00:00:00 2001 From: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon, 26 Aug 2019 05:46:35 -0700 Subject: [PATCH 042/416] Mars80 Bug: Physical/Electrical Matrix Mismatch (#6612) --- keyboards/ft/mars80/mars80.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/ft/mars80/mars80.h b/keyboards/ft/mars80/mars80.h index 6308d06d0df7..fdeb4f9857a3 100644 --- a/keyboards/ft/mars80/mars80.h +++ b/keyboards/ft/mars80/mars80.h @@ -37,7 +37,7 @@ { \ { k00, KC_NO, k02, k03, KC_NO, k05, k06, k07, k08, k09, KC_NO, KC_NO, KC_NO, k0D }, \ { k10, k11, k12, k13, k14, k15, k16, KC_NO, k18, k19, k1A, k1B, k1C, k1D }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, KC_NO, k2D }, \ + { 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 }, \ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D }, \ { KC_NO, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D }, \ @@ -55,7 +55,7 @@ { \ { k00, KC_NO, k02, k03, KC_NO, k05, k06, k07, k08, k09, KC_NO, KC_NO, KC_NO, k0D }, \ { k10, k11, k12, k13, k14, k15, k16, KC_NO, k18, k19, k1A, k1B, k1C, k1D }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, KC_NO, k2D }, \ + { 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 }, \ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, KC_NO }, \ { KC_NO, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D }, \ From bc86eb223378e4f83f20105f1a0ec61a2d012b78 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 26 Aug 2019 10:16:46 -0700 Subject: [PATCH 043/416] Fix Typo in :flash target for missing bootloader (#6615) --- tmk_core/avr.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk index bdda14a07036..775f2a996dc4 100644 --- a/tmk_core/avr.mk +++ b/tmk_core/avr.mk @@ -347,5 +347,5 @@ else ifeq ($(strip $(BOOTLOADER)), USBasp) else ifeq ($(strip $(BOOTLOADER)), bootloadHID) $(call EXEC_BOOTLOADHID) else - $(PRINT_OK); $(SILENT) || printf "&(MSG_FLASH_BOOTLOADER)" + $(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_BOOTLOADER)" endif From d2ce12d15d2917327b6864809a5b6b5c44d001bd Mon Sep 17 00:00:00 2001 From: Yan-Fa Li Date: Mon, 26 Aug 2019 11:08:18 -0700 Subject: [PATCH 044/416] pegasushoof Specify the bootloader to use :flash (#6614) A support for newer :flash command to pegasus hoof --- keyboards/bpiphany/pegasushoof/rules.mk | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/keyboards/bpiphany/pegasushoof/rules.mk b/keyboards/bpiphany/pegasushoof/rules.mk index e81ee886efe9..58b8f09e11cf 100644 --- a/keyboards/bpiphany/pegasushoof/rules.mk +++ b/keyboards/bpiphany/pegasushoof/rules.mk @@ -36,15 +36,7 @@ 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 - +BOOTLOADER=atmel-dfu # Build Options # change yes to no to disable From 5c6c55693320f7e4a81109ec33ef2445a7878f1e Mon Sep 17 00:00:00 2001 From: Jorde Vorstenbosch Date: Tue, 27 Aug 2019 23:20:25 +0200 Subject: [PATCH 045/416] [Keymap] default keymap fix for questionmark (redox, redox_w) (#6574) * default keymap fix for questionmark Added /? to the default position for a qwerty keyboard. Moved |\ to the left ctrl with the same behaviour as before. * Small PR adjustments and Keypad optimization * Update keymap.c * Update keymap.c --- keyboards/redox/keymaps/default/keymap.c | 16 ++++++---------- keyboards/redox_w/keymaps/default/keymap.c | 15 ++++++--------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/keyboards/redox/keymaps/default/keymap.c b/keyboards/redox/keymaps/default/keymap.c index ef8eeb2e1406..56c80878f4e6 100644 --- a/keyboards/redox/keymaps/default/keymap.c +++ b/keyboards/redox/keymaps/default/keymap.c @@ -1,7 +1,5 @@ #include QMK_KEYBOARD_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 @@ -19,11 +17,10 @@ enum custom_keycodes { }; // Shortcut to make keymap more readable -#define KC_BKSL KC_BSLASH #define SYM_L MO(_SYMB) #define KC_ALAS LALT_T(KC_PAST) -#define KC_CTPL LCTL_T(KC_PSLS) +#define KC_CTPL LCTL_T(KC_BSLS) #define KC_NAGR LT(_NAV, KC_GRV) #define KC_NAMI LT(_NAV, KC_MINS) @@ -41,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,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_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_BKSL ,KC_RSFT , + KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ KC_LGUI ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ @@ -51,13 +48,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,XXXXXXX , + _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX , + _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX , + _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX + _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), @@ -88,5 +85,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ) - }; diff --git a/keyboards/redox_w/keymaps/default/keymap.c b/keyboards/redox_w/keymaps/default/keymap.c index 37af03b3eea2..91fc7afa9787 100644 --- a/keyboards/redox_w/keymaps/default/keymap.c +++ b/keyboards/redox_w/keymaps/default/keymap.c @@ -1,7 +1,5 @@ #include QMK_KEYBOARD_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 @@ -19,11 +17,10 @@ enum custom_keycodes { }; // Shortcut to make keymap more readable -#define KC_BKSL KC_BSLASH #define SYM_L MO(_SYMB) #define KC_ALAS LALT_T(KC_PAST) -#define KC_CTPL LCTL_T(KC_PSLS) +#define KC_CTPL LCTL_T(KC_BSLS) #define KC_NAGR LT(_NAV, KC_GRV) #define KC_NAMI LT(_NAV, KC_MINS) @@ -41,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,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_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_BKSL ,KC_RSFT , + KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ KC_LGUI ,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , KC_RALT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ @@ -51,13 +48,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,XXXXXXX , + _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX , + _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX , + _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX + _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), From 5ef7367e6c9adbaab3d91a52ad0fccace1c4b34f Mon Sep 17 00:00:00 2001 From: Yan-Fa Li Date: Tue, 27 Aug 2019 16:22:20 -0700 Subject: [PATCH 046/416] Wonderland: README (#6613) * Wonderland README breaks * Wonderland info.json * Update keyboards/maartenwut/wonderland/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> --- keyboards/maartenwut/wonderland/info.json | 80 +++++++++++++++++++++++ keyboards/maartenwut/wonderland/readme.md | 14 ++++ 2 files changed, 94 insertions(+) create mode 100644 keyboards/maartenwut/wonderland/info.json create mode 100644 keyboards/maartenwut/wonderland/readme.md diff --git a/keyboards/maartenwut/wonderland/info.json b/keyboards/maartenwut/wonderland/info.json new file mode 100644 index 000000000000..d4f7196d8626 --- /dev/null +++ b/keyboards/maartenwut/wonderland/info.json @@ -0,0 +1,80 @@ +{ + "keyboard_name": "Maartenwut Wonderland", + "url": "", + "maintainer": "Maartenwut", + "width": 18.25, + "height": 5, + "layouts": { + "LAYOUT": { + "key_count": 66, + "layout": [ + {"label":"k10", "x":0, "y":0}, + {"label":"k00", "x":1.25, "y":0}, + {"label":"k01", "x":2.25, "y":0}, + {"label":"k02", "x":3.25, "y":0}, + {"label":"k03", "x":4.25, "y":0}, + {"label":"k04", "x":5.25, "y":0}, + {"label":"k05", "x":6.25, "y":0}, + {"label":"k06", "x":7.25, "y":0}, + {"label":"k07", "x":10.25, "y":0}, + {"label":"k08", "x":11.25, "y":0}, + {"label":"k09", "x":12.25, "y":0}, + {"label":"k0a", "x":13.25, "y":0}, + {"label":"k0b", "x":14.25, "y":0}, + {"label":"k0c", "x":15.25, "y":0}, + {"label":"k0d", "x":16.25, "y":0}, + {"label":"k0e", "x":17.25, "y":0}, + {"label":"k20", "x":0, "y":1}, + {"label":"k11", "x":1.25, "y":1, "w":1.5}, + {"label":"k12", "x":2.75, "y":1}, + {"label":"k13", "x":3.75, "y":1}, + {"label":"k14", "x":4.75, "y":1}, + {"label":"k15", "x":5.75, "y":1}, + {"label":"k16", "x":6.75, "y":1}, + {"label":"k17", "x":9.75, "y":1}, + {"label":"k18", "x":10.75, "y":1}, + {"label":"k19", "x":11.75, "y":1}, + {"label":"k1a", "x":12.75, "y":1}, + {"label":"k1b", "x":13.75, "y":1}, + {"label":"k1c", "x":14.75, "y":1}, + {"label":"k1d", "x":15.75, "y":1}, + {"label":"k1e", "x":16.75, "y":1, "w":1.5}, + {"label":"k30", "x":0, "y":2}, + {"label":"k21", "x":1.25, "y":2, "w":1.75}, + {"label":"k22", "x":3, "y":2}, + {"label":"k23", "x":4, "y":2}, + {"label":"k24", "x":5, "y":2}, + {"label":"k25", "x":6, "y":2}, + {"label":"k26", "x":7, "y":2}, + {"label":"k27", "x":10, "y":2}, + {"label":"k28", "x":11, "y":2}, + {"label":"k29", "x":12, "y":2}, + {"label":"k2a", "x":13, "y":2}, + {"label":"k2b", "x":14, "y":2}, + {"label":"k2c", "x":15, "y":2}, + {"label":"k2e", "x":16, "y":2, "w":2.25}, + {"label":"k31", "x":1.25, "y":3, "w":2.25}, + {"label":"k32", "x":3.5, "y":3}, + {"label":"k33", "x":4.5, "y":3}, + {"label":"k34", "x":5.5, "y":3}, + {"label":"k35", "x":6.5, "y":3}, + {"label":"k36", "x":7.5, "y":3}, + {"label":"k37", "x":9.5, "y":3}, + {"label":"k38", "x":10.5, "y":3}, + {"label":"k39", "x":11.5, "y":3}, + {"label":"k3a", "x":12.5, "y":3}, + {"label":"k3b", "x":13.5, "y":3}, + {"label":"k3c", "x":14.5, "y":3}, + {"label":"k3d", "x":15.5, "y":3, "w":1.75}, + {"label":"k3e", "x":17.25, "y":3}, + {"label":"k41", "x":1.25, "y":4, "w":1.5}, + {"label":"k43", "x":4.25, "y":4, "w":1.5}, + {"label":"k45", "x":5.75, "y":4, "w":2}, + {"label":"k46", "x":7.75, "y":4, "w":1.25}, + {"label":"k48", "x":9.5, "y":4, "w":2.75}, + {"label":"k4a", "x":12.25, "y":4, "w":1.5}, + {"label":"k4e", "x":16.75, "y":4, "w":1.5} + ] + } + } +} diff --git a/keyboards/maartenwut/wonderland/readme.md b/keyboards/maartenwut/wonderland/readme.md new file mode 100644 index 000000000000..36b3022caaca --- /dev/null +++ b/keyboards/maartenwut/wonderland/readme.md @@ -0,0 +1,14 @@ +Wonderland USB-c and USB-mini +====== + +Only the USB-mini part is compatible with the original Alice case. The USB-c version was created for the Lubrigante, a case designed by Zambumon and a GB run by homerowco. + +Keyboard Maintainer: [Maartenwut](https://github.com/Maartenwut)
+Hardware Supported: Wonderland-C and Wonderland-Mini
+Hardware Availability: https://maartenwut.com/product/wonderland-mini-usb-only/
+ +Make example for this keyboard (after setting up your build environment): + + make maartenwut/wonderland:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From 931e9bdbe4ff73b26b86be42041c4553f7cdd696 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 22 Aug 2019 12:11:15 -0700 Subject: [PATCH 047/416] Decrement EECONFIG magic number This will manually wipe the EEPROM. This is a hacky solution for when new ranges are added or moved around. A better (more complicated) solution would be to zero out everything, not just known ranges. But for now, this is a hacky solution that will work. --- tmk_core/common/eeconfig.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tmk_core/common/eeconfig.h b/tmk_core/common/eeconfig.h index 0d5c6a82fc4b..a5fc801a3bd0 100644 --- a/tmk_core/common/eeconfig.h +++ b/tmk_core/common/eeconfig.h @@ -22,7 +22,9 @@ along with this program. If not, see . #include -#define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEED +#ifndef EECONFIG_MAGIC_NUMBER +# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEEC +#endif #define EECONFIG_MAGIC_NUMBER_OFF (uint16_t)0xFFFF /* EEPROM parameter address */ From c27aa60c50c7ed7cb3e511c8a9def118541813e7 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sat, 31 Aug 2019 03:23:36 +1000 Subject: [PATCH 048/416] =?UTF-8?q?Make=20the=20CLI=20=CE=A8=20capital=20(?= =?UTF-8?q?#6637)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/qmk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/qmk b/bin/qmk index d4b584b10e7c..3c00a675eb16 100755 --- a/bin/qmk +++ b/bin/qmk @@ -47,7 +47,7 @@ else: # Setup the CLI import milc -milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}ψ{style_reset_all}' +milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}' # If we were invoked as `qmk ` massage sys.argv into `qmk-`. # This means we can't accept arguments to the qmk script itself. From 21df614a8ebf216f65822a28e319a05360f5244d Mon Sep 17 00:00:00 2001 From: skullY Date: Fri, 5 Jul 2019 11:08:18 -0700 Subject: [PATCH 049/416] Branch point for 2019 Aug 30 Breaking Change --- readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/readme.md b/readme.md index b08c675e4e8c..2030178344c6 100644 --- a/readme.md +++ b/readme.md @@ -7,6 +7,14 @@ [![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) [![GitHub forks](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/) +# NOTICE: THIS IS A TESTING BRANCH + +This is the `breaking_changes` branch for Aug 2019. You can [read more in the tracking issue](https://github.com/qmk/qmk_firmware/issues/6146). + +We encourage you to try this branch out and see if there are any bugs. Our goal is to merge this branch to `master` on Aug 30. Please [report any bugs](https://github.com/qmk/qmk_firmware/issues/new?template=bug_report.md) you find. + +Original readme.md continues: + This is a keyboard firmware based on the [tmk\_keyboard firmware](https://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR and ARM controllers, and more specifically, the [OLKB product line](https://olkb.com), the [ErgoDox EZ](https://ergodox-ez.com) keyboard, and the [Clueboard product line](https://clueboard.co). ## Documentation From ac1672689599ff7180b3baaaa9a1356e0e23021e Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 10 Jul 2019 05:34:17 +1000 Subject: [PATCH 050/416] LUFA USB descriptor cleanup (#4871) * Fix indentation * Fix braces * Expand descriptor headers * Align descriptor elements * Nicer formatting * Tidy up preprocessor statements * Remove VERSION_BCD redefine - LUFA_VERSION_INTEGER is currently 0x170418 * Tidy up comments * Tweak ordering of HID report elements (no functional changes) * We don't need all of these newlines * Move default USB_MAX_POWER_CONSUMPTION closer to where it makes sense * Ask nicely * Add some more comments * Change indentation back to 4 spaces * Add changelog entry --- docs/ChangeLog/20190830/PR4871.md | 4 + tmk_core/protocol/usb_descriptor.c | 1403 ++++++++++++++-------------- tmk_core/protocol/usb_descriptor.h | 347 +++---- 3 files changed, 879 insertions(+), 875 deletions(-) create mode 100644 docs/ChangeLog/20190830/PR4871.md diff --git a/docs/ChangeLog/20190830/PR4871.md b/docs/ChangeLog/20190830/PR4871.md new file mode 100644 index 000000000000..e4ea171d7a55 --- /dev/null +++ b/docs/ChangeLog/20190830/PR4871.md @@ -0,0 +1,4 @@ +* LUFA USB descriptor cleanup + * Some code cleanups related to the USB HID descriptors on AVR keyboards, to make them easier to read and understand + * More information: see https://github.com/qmk/qmk_firmware/pull/4871 + * No behaviour changes anticipated and no keymaps modified diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 589ad23cdd51..fb280f947305 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -6,238 +6,242 @@ */ /* - LUFA Library - Copyright (C) Dean Camera, 2012. + LUFA Library + Copyright (C) Dean Camera, 2012. - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org */ /* - Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Copyright 2010 Denver Gingerich (denver [at] ossguy [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaim all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. + Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2010 Denver Gingerich (denver [at] ossguy [dot] com) + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaim all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. */ #include "util.h" #include "report.h" #include "usb_descriptor.h" -#ifndef USB_MAX_POWER_CONSUMPTION -#define USB_MAX_POWER_CONSUMPTION 500 -#endif - -/******************************************************************************* - * HID Report Descriptors - ******************************************************************************/ +/* + * HID report descriptors + */ #ifdef KEYBOARD_SHARED_EP const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { -#define SHARED_REPORT_STARTED + #define SHARED_REPORT_STARTED #else const USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] = { #endif - HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */ - HID_RI_USAGE(8, 0x06), /* Keyboard */ - HID_RI_COLLECTION(8, 0x01), /* Application */ -# ifdef KEYBOARD_SHARED_EP + HID_RI_USAGE_PAGE(8, 0x01), // Generic Desktop + HID_RI_USAGE(8, 0x06), // Keyboard + HID_RI_COLLECTION(8, 0x01), // Application +#ifdef KEYBOARD_SHARED_EP HID_RI_REPORT_ID(8, REPORT_ID_KEYBOARD), -# endif - HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */ - HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */ - HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */ +#endif + // Modifiers (8 bits) + HID_RI_USAGE_PAGE(8, 0x07), // Keyboard/Keypad + HID_RI_USAGE_MINIMUM(8, 0xE0), // Keyboard Left Control + HID_RI_USAGE_MAXIMUM(8, 0xE7), // Keyboard Right GUI HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(8, 0x01), HID_RI_REPORT_COUNT(8, 0x08), HID_RI_REPORT_SIZE(8, 0x01), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), - + // Reserved (1 byte) HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x08), - HID_RI_INPUT(8, HID_IOF_CONSTANT), /* reserved */ + HID_RI_INPUT(8, HID_IOF_CONSTANT), + // Keycodes (6 bytes) + HID_RI_USAGE_PAGE(8, 0x07), // Keyboard/Keypad + HID_RI_USAGE_MINIMUM(8, 0x00), + HID_RI_USAGE_MAXIMUM(8, 0xFF), + HID_RI_LOGICAL_MINIMUM(8, 0x00), + HID_RI_LOGICAL_MAXIMUM(16, 0x00FF), + HID_RI_REPORT_COUNT(8, 0x06), + HID_RI_REPORT_SIZE(8, 0x08), + HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), - HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */ - HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */ - HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */ + // Status LEDs (5 bits) + HID_RI_USAGE_PAGE(8, 0x08), // LED + HID_RI_USAGE_MINIMUM(8, 0x01), // Num Lock + HID_RI_USAGE_MAXIMUM(8, 0x05), // Kana HID_RI_REPORT_COUNT(8, 0x05), HID_RI_REPORT_SIZE(8, 0x01), HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + // LED padding (3 bits) HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x03), HID_RI_OUTPUT(8, HID_IOF_CONSTANT), - - HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */ - HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */ - HID_RI_USAGE_MAXIMUM(8, 0xFF), /* Keyboard Application */ - HID_RI_LOGICAL_MINIMUM(8, 0x00), - HID_RI_LOGICAL_MAXIMUM(16, 0x00FF), - HID_RI_REPORT_COUNT(8, 0x06), - HID_RI_REPORT_SIZE(8, 0x08), - HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), HID_RI_END_COLLECTION(0), - #ifndef KEYBOARD_SHARED_EP }; #endif -#if defined(MOUSE_ENABLE) - -# if !defined(MOUSE_SHARED_EP) +#ifdef MOUSE_ENABLE + #ifndef MOUSE_SHARED_EP const USB_Descriptor_HIDReport_Datatype_t PROGMEM MouseReport[] = { -# elif !defined(SHARED_REPORT_STARTED) + #elif !defined(SHARED_REPORT_STARTED) const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { -#define SHARED_REPORT_STARTED -# endif - HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */ - HID_RI_USAGE(8, 0x02), /* Mouse */ - HID_RI_COLLECTION(8, 0x01), /* Application */ -# ifdef MOUSE_SHARED_EP + #define SHARED_REPORT_STARTED + #endif + HID_RI_USAGE_PAGE(8, 0x01), // Generic Desktop + HID_RI_USAGE(8, 0x02), // Mouse + HID_RI_COLLECTION(8, 0x01), // Application + #ifdef MOUSE_SHARED_EP HID_RI_REPORT_ID(8, REPORT_ID_MOUSE), -# endif - HID_RI_USAGE(8, 0x01), /* Pointer */ - HID_RI_COLLECTION(8, 0x00), /* Physical */ - - HID_RI_USAGE_PAGE(8, 0x09), /* Button */ - HID_RI_USAGE_MINIMUM(8, 0x01), /* Button 1 */ - HID_RI_USAGE_MAXIMUM(8, 0x05), /* Button 5 */ + #endif + HID_RI_USAGE(8, 0x01), // Pointer + HID_RI_COLLECTION(8, 0x00), // Physical + // Buttons (5 bits) + HID_RI_USAGE_PAGE(8, 0x09), // Button + HID_RI_USAGE_MINIMUM(8, 0x01), // Button 1 + HID_RI_USAGE_MAXIMUM(8, 0x05), // Button 5 HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(8, 0x01), HID_RI_REPORT_COUNT(8, 0x05), HID_RI_REPORT_SIZE(8, 0x01), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), + // Button padding (3 bits) HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x03), HID_RI_INPUT(8, HID_IOF_CONSTANT), - HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */ - HID_RI_USAGE(8, 0x30), /* Usage X */ - HID_RI_USAGE(8, 0x31), /* Usage Y */ + // X/Y position (2 bytes) + HID_RI_USAGE_PAGE(8, 0x01), // Generic Desktop + HID_RI_USAGE(8, 0x30), // X + HID_RI_USAGE(8, 0x31), // Y HID_RI_LOGICAL_MINIMUM(8, -127), HID_RI_LOGICAL_MAXIMUM(8, 127), HID_RI_REPORT_COUNT(8, 0x02), HID_RI_REPORT_SIZE(8, 0x08), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), - HID_RI_USAGE(8, 0x38), /* Wheel */ + // Vertical wheel (1 byte) + HID_RI_USAGE(8, 0x38), // Wheel HID_RI_LOGICAL_MINIMUM(8, -127), HID_RI_LOGICAL_MAXIMUM(8, 127), HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x08), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), - - HID_RI_USAGE_PAGE(8, 0x0C), /* Consumer */ - HID_RI_USAGE(16, 0x0238), /* AC Pan (Horizontal wheel) */ + // Horizontal wheel (1 byte) + HID_RI_USAGE_PAGE(8, 0x0C), // Consumer + HID_RI_USAGE(16, 0x0238), // AC Pan HID_RI_LOGICAL_MINIMUM(8, -127), HID_RI_LOGICAL_MAXIMUM(8, 127), HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x08), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE), - HID_RI_END_COLLECTION(0), HID_RI_END_COLLECTION(0), -# ifndef MOUSE_SHARED_EP + #ifndef MOUSE_SHARED_EP }; -# endif + #endif #endif #if defined(SHARED_EP_ENABLE) && !defined(SHARED_REPORT_STARTED) const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { #endif -# ifdef EXTRAKEY_ENABLE - HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */ - HID_RI_USAGE(8, 0x80), /* System Control */ - HID_RI_COLLECTION(8, 0x01), /* Application */ + +#ifdef EXTRAKEY_ENABLE + HID_RI_USAGE_PAGE(8, 0x01), // Generic Desktop + HID_RI_USAGE(8, 0x80), // System Control + HID_RI_COLLECTION(8, 0x01), // Application HID_RI_REPORT_ID(8, REPORT_ID_SYSTEM), + HID_RI_USAGE_MINIMUM(16, 0x0081), // System Power Down + HID_RI_USAGE_MAXIMUM(16, 0x0083), // System Wake Up HID_RI_LOGICAL_MINIMUM(16, 0x0001), HID_RI_LOGICAL_MAXIMUM(16, 0x0003), - HID_RI_USAGE_MINIMUM(16, 0x0081), /* System Power Down */ - HID_RI_USAGE_MAXIMUM(16, 0x0083), /* System Wake Up */ - HID_RI_REPORT_SIZE(8, 16), HID_RI_REPORT_COUNT(8, 1), + HID_RI_REPORT_SIZE(8, 16), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), HID_RI_END_COLLECTION(0), - HID_RI_USAGE_PAGE(8, 0x0C), /* Consumer */ - HID_RI_USAGE(8, 0x01), /* Consumer Control */ - HID_RI_COLLECTION(8, 0x01), /* Application */ + HID_RI_USAGE_PAGE(8, 0x0C), // Consumer + HID_RI_USAGE(8, 0x01), // Consumer Control + HID_RI_COLLECTION(8, 0x01), // Application HID_RI_REPORT_ID(8, REPORT_ID_CONSUMER), + HID_RI_USAGE_MINIMUM(16, 0x0001), // Consumer Control + HID_RI_USAGE_MAXIMUM(16, 0x029C), // AC Distribute Vertically HID_RI_LOGICAL_MINIMUM(16, 0x0001), HID_RI_LOGICAL_MAXIMUM(16, 0x029C), - HID_RI_USAGE_MINIMUM(16, 0x0001), /* +10 */ - HID_RI_USAGE_MAXIMUM(16, 0x029C), /* AC Distribute Vertically */ - HID_RI_REPORT_SIZE(8, 16), HID_RI_REPORT_COUNT(8, 1), + HID_RI_REPORT_SIZE(8, 16), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), HID_RI_END_COLLECTION(0), -# endif +#endif -# ifdef NKRO_ENABLE - HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */ - HID_RI_USAGE(8, 0x06), /* Keyboard */ - HID_RI_COLLECTION(8, 0x01), /* Application */ +#ifdef NKRO_ENABLE + HID_RI_USAGE_PAGE(8, 0x01), // Generic Desktop + HID_RI_USAGE(8, 0x06), // Keyboard + HID_RI_COLLECTION(8, 0x01), // Application HID_RI_REPORT_ID(8, REPORT_ID_NKRO), - HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */ - HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */ - HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */ + // Modifiers (8 bits) + HID_RI_USAGE_PAGE(8, 0x07), // Keyboard/Keypad + HID_RI_USAGE_MINIMUM(8, 0xE0), // Keyboard Left Control + HID_RI_USAGE_MAXIMUM(8, 0xE7), // Keyboard Right GUI HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(8, 0x01), HID_RI_REPORT_COUNT(8, 0x08), HID_RI_REPORT_SIZE(8, 0x01), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), + // Keycodes + HID_RI_USAGE_PAGE(8, 0x07), // Keyboard/Keypad + HID_RI_USAGE_MINIMUM(8, 0x00), + HID_RI_USAGE_MAXIMUM(8, KEYBOARD_REPORT_BITS * 8 - 1), + HID_RI_LOGICAL_MINIMUM(8, 0x00), + HID_RI_LOGICAL_MAXIMUM(8, 0x01), + HID_RI_REPORT_COUNT(8, KEYBOARD_REPORT_BITS * 8), + HID_RI_REPORT_SIZE(8, 0x01), + HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), - HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */ - HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */ - HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */ + // Status LEDs (5 bits) + HID_RI_USAGE_PAGE(8, 0x08), // LED + HID_RI_USAGE_MINIMUM(8, 0x01), // Num Lock + HID_RI_USAGE_MAXIMUM(8, 0x05), // Kana HID_RI_REPORT_COUNT(8, 0x05), HID_RI_REPORT_SIZE(8, 0x01), HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + // LED padding (3 bits) HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x03), HID_RI_OUTPUT(8, HID_IOF_CONSTANT), - - HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */ - HID_RI_USAGE_MINIMUM(8, 0x00), /* Keyboard 0 */ - HID_RI_USAGE_MAXIMUM(8, KEYBOARD_REPORT_BITS*8-1), - HID_RI_LOGICAL_MINIMUM(8, 0x00), - HID_RI_LOGICAL_MAXIMUM(8, 0x01), - HID_RI_REPORT_COUNT(8, KEYBOARD_REPORT_BITS*8), - HID_RI_REPORT_SIZE(8, 0x01), - HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), HID_RI_END_COLLECTION(0), -# endif +#endif #ifdef SHARED_EP_ENABLE }; #endif #ifdef RAW_ENABLE -const USB_Descriptor_HIDReport_Datatype_t PROGMEM RawReport[] = -{ - HID_RI_USAGE_PAGE(16, 0xFF60), /* Vendor Page 0xFF60 */ - HID_RI_USAGE(8, 0x61), /* Vendor Usage 0x61 */ - HID_RI_COLLECTION(8, 0x01), /* Application */ - HID_RI_USAGE(8, 0x62), /* Vendor Usage 0x62 */ +const USB_Descriptor_HIDReport_Datatype_t PROGMEM RawReport[] = { + HID_RI_USAGE_PAGE(16, 0xFF60), // Vendor Defined + HID_RI_USAGE(8, 0x61), // Vendor Defined + HID_RI_COLLECTION(8, 0x01), // Application + // Data to host + HID_RI_USAGE(8, 0x62), // Vendor Defined HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(16, 0x00FF), HID_RI_REPORT_COUNT(8, RAW_EPSIZE), HID_RI_REPORT_SIZE(8, 0x08), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), - HID_RI_USAGE(8, 0x63), /* Vendor Usage 0x63 */ + // Data from host + HID_RI_USAGE(8, 0x63), // Vendor Defined HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(16, 0x00FF), HID_RI_REPORT_COUNT(8, RAW_EPSIZE), @@ -248,18 +252,19 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM RawReport[] = #endif #ifdef CONSOLE_ENABLE -const USB_Descriptor_HIDReport_Datatype_t PROGMEM ConsoleReport[] = -{ - HID_RI_USAGE_PAGE(16, 0xFF31), /* Vendor Page(PJRC Teensy compatible) */ - HID_RI_USAGE(8, 0x74), /* Vendor Usage(PJRC Teensy compatible) */ - HID_RI_COLLECTION(8, 0x01), /* Application */ - HID_RI_USAGE(8, 0x75), /* Vendor Usage 0x75 */ +const USB_Descriptor_HIDReport_Datatype_t PROGMEM ConsoleReport[] = { + HID_RI_USAGE_PAGE(16, 0xFF31), // Vendor Defined (PJRC Teensy compatible) + HID_RI_USAGE(8, 0x74), // Vendor Defined (PJRC Teensy compatible) + HID_RI_COLLECTION(8, 0x01), // Application + // Data to host + HID_RI_USAGE(8, 0x75), // Vendor Defined HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(16, 0x00FF), HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE), HID_RI_REPORT_SIZE(8, 0x08), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), - HID_RI_USAGE(8, 0x76), /* Vendor Usage 0x76 */ + // Data from host + HID_RI_USAGE(8, 0x76), // Vendor Defined HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(16, 0x00FF), HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE), @@ -269,15 +274,15 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM ConsoleReport[] = }; #endif - -/******************************************************************************* - * Device Descriptors - ******************************************************************************/ -const USB_Descriptor_Device_t PROGMEM DeviceDescriptor = -{ - .Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device}, - - .USBSpecification = VERSION_BCD(1,1,0), +/* + * Device descriptor + */ +const USB_Descriptor_Device_t PROGMEM DeviceDescriptor = { + .Header = { + .Size = sizeof(USB_Descriptor_Device_t), + .Type = DTYPE_Device + }, + .USBSpecification = VERSION_BCD(1, 1, 0), #if VIRTSER_ENABLE .Class = USB_CSCP_IADDeviceClass, .SubClass = USB_CSCP_IADDeviceSubclass, @@ -287,710 +292,698 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor = .SubClass = USB_CSCP_NoDeviceSubclass, .Protocol = USB_CSCP_NoDeviceProtocol, #endif - .Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE, - - /* specified in config.h */ + // Specified in config.h .VendorID = VENDOR_ID, .ProductID = PRODUCT_ID, .ReleaseNumber = DEVICE_VER, - .ManufacturerStrIndex = 0x01, .ProductStrIndex = 0x02, .SerialNumStrIndex = 0x03, - .NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS }; -/******************************************************************************* - * Configuration Descriptors - ******************************************************************************/ -const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = -{ - .Config = - { - .Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration}, - - .TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t), - .TotalInterfaces = TOTAL_INTERFACES, - - .ConfigurationNumber = 1, - .ConfigurationStrIndex = NO_DESCRIPTOR, - - .ConfigAttributes = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_REMOTEWAKEUP), +#ifndef USB_MAX_POWER_CONSUMPTION + #define USB_MAX_POWER_CONSUMPTION 500 +#endif - .MaxPowerConsumption = USB_CONFIG_POWER_MA(USB_MAX_POWER_CONSUMPTION) +/* + * Configuration descriptors + */ +const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = { + .Config = { + .Header = { + .Size = sizeof(USB_Descriptor_Configuration_Header_t), + .Type = DTYPE_Configuration }, + .TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t), + .TotalInterfaces = TOTAL_INTERFACES, + .ConfigurationNumber = 1, + .ConfigurationStrIndex = NO_DESCRIPTOR, + .ConfigAttributes = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_REMOTEWAKEUP), + .MaxPowerConsumption = USB_CONFIG_POWER_MA(USB_MAX_POWER_CONSUMPTION) + }, +#ifndef KEYBOARD_SHARED_EP /* * Keyboard */ -#ifndef KEYBOARD_SHARED_EP - .Keyboard_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = KEYBOARD_INTERFACE, - .AlternateSetting = 0x00, - - .TotalEndpoints = 1, - - .Class = HID_CSCP_HIDClass, - .SubClass = HID_CSCP_BootSubclass, - .Protocol = HID_CSCP_KeyboardBootProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR + .Keyboard_Interface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface }, - - .Keyboard_HID = - { - .Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = HID_DTYPE_HID}, - - .HIDSpec = VERSION_BCD(1,1,1), - .CountryCode = 0x00, - .TotalReportDescriptors = 1, - .HIDReportType = HID_DTYPE_Report, - .HIDReportLength = sizeof(KeyboardReport) + .InterfaceNumber = KEYBOARD_INTERFACE, + .AlternateSetting = 0x00, + .TotalEndpoints = 1, + .Class = HID_CSCP_HIDClass, + .SubClass = HID_CSCP_BootSubclass, + .Protocol = HID_CSCP_KeyboardBootProtocol, + + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .Keyboard_HID = { + .Header = { + .Size = sizeof(USB_HID_Descriptor_HID_t), + .Type = HID_DTYPE_HID }, - - .Keyboard_INEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = (ENDPOINT_DIR_IN | KEYBOARD_IN_EPNUM), - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = KEYBOARD_EPSIZE, - .PollingIntervalMS = 0x0A + .HIDSpec = VERSION_BCD(1, 1, 1), + .CountryCode = 0x00, + .TotalReportDescriptors = 1, + .HIDReportType = HID_DTYPE_Report, + .HIDReportLength = sizeof(KeyboardReport) + }, + .Keyboard_INEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint }, + .EndpointAddress = (ENDPOINT_DIR_IN | KEYBOARD_IN_EPNUM), + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = KEYBOARD_EPSIZE, + .PollingIntervalMS = 0x0A + }, #endif +#if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) /* * Mouse */ -#if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) - .Mouse_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = MOUSE_INTERFACE, - .AlternateSetting = 0x00, - - .TotalEndpoints = 1, - - .Class = HID_CSCP_HIDClass, - .SubClass = HID_CSCP_BootSubclass, - .Protocol = HID_CSCP_MouseBootProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR + .Mouse_Interface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface }, - - .Mouse_HID = - { - .Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = HID_DTYPE_HID}, - - .HIDSpec = VERSION_BCD(1,1,1), - .CountryCode = 0x00, - .TotalReportDescriptors = 1, - .HIDReportType = HID_DTYPE_Report, - .HIDReportLength = sizeof(MouseReport) + .InterfaceNumber = MOUSE_INTERFACE, + .AlternateSetting = 0x00, + .TotalEndpoints = 1, + .Class = HID_CSCP_HIDClass, + .SubClass = HID_CSCP_BootSubclass, + .Protocol = HID_CSCP_MouseBootProtocol, + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .Mouse_HID = { + .Header = { + .Size = sizeof(USB_HID_Descriptor_HID_t), + .Type = HID_DTYPE_HID }, - - .Mouse_INEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = (ENDPOINT_DIR_IN | MOUSE_IN_EPNUM), - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = MOUSE_EPSIZE, - .PollingIntervalMS = 0x0A + .HIDSpec = VERSION_BCD(1, 1, 1), + .CountryCode = 0x00, + .TotalReportDescriptors = 1, + .HIDReportType = HID_DTYPE_Report, + .HIDReportLength = sizeof(MouseReport) + }, + .Mouse_INEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint }, + .EndpointAddress = (ENDPOINT_DIR_IN | MOUSE_IN_EPNUM), + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = MOUSE_EPSIZE, + .PollingIntervalMS = 0x0A + }, #endif +#ifdef SHARED_EP_ENABLE /* * Shared */ -#ifdef SHARED_EP_ENABLE - .Shared_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = SHARED_INTERFACE, - .AlternateSetting = 0x00, - - .TotalEndpoints = 1, - - .Class = HID_CSCP_HIDClass, -# ifdef KEYBOARD_SHARED_EP - .SubClass = HID_CSCP_BootSubclass, - .Protocol = HID_CSCP_KeyboardBootProtocol, -# else - .SubClass = HID_CSCP_NonBootSubclass, - .Protocol = HID_CSCP_NonBootProtocol, + .Shared_Interface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface + }, + .InterfaceNumber = SHARED_INTERFACE, + .AlternateSetting = 0x00, + .TotalEndpoints = 1, + .Class = HID_CSCP_HIDClass, +#ifdef KEYBOARD_SHARED_EP + .SubClass = HID_CSCP_BootSubclass, + .Protocol = HID_CSCP_KeyboardBootProtocol, +#else + .SubClass = HID_CSCP_NonBootSubclass, + .Protocol = HID_CSCP_NonBootProtocol, #endif - - .InterfaceStrIndex = NO_DESCRIPTOR + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .Shared_HID = { + .Header = { + .Size = sizeof(USB_HID_Descriptor_HID_t), + .Type = HID_DTYPE_HID }, - - .Shared_HID = - { - .Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = HID_DTYPE_HID}, - - .HIDSpec = VERSION_BCD(1,1,1), - .CountryCode = 0x00, - .TotalReportDescriptors = 1, - .HIDReportType = HID_DTYPE_Report, - .HIDReportLength = sizeof(SharedReport) + .HIDSpec = VERSION_BCD(1, 1, 1), + .CountryCode = 0x00, + .TotalReportDescriptors = 1, + .HIDReportType = HID_DTYPE_Report, + .HIDReportLength = sizeof(SharedReport) + }, + .Shared_INEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint }, + .EndpointAddress = (ENDPOINT_DIR_IN | SHARED_IN_EPNUM), + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = SHARED_EPSIZE, + .PollingIntervalMS = 0x0A + }, +#endif - .Shared_INEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = (ENDPOINT_DIR_IN | SHARED_IN_EPNUM), - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = SHARED_EPSIZE, - .PollingIntervalMS = 0x0A +#ifdef RAW_ENABLE + /* + * Raw HID + */ + .Raw_Interface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface + }, + .InterfaceNumber = RAW_INTERFACE, + .AlternateSetting = 0x00, + .TotalEndpoints = 2, + .Class = HID_CSCP_HIDClass, + .SubClass = HID_CSCP_NonBootSubclass, + .Protocol = HID_CSCP_NonBootProtocol, + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .Raw_HID = { + .Header = { + .Size = sizeof(USB_HID_Descriptor_HID_t), + .Type = HID_DTYPE_HID + }, + .HIDSpec = VERSION_BCD(1, 1, 1), + .CountryCode = 0x00, + .TotalReportDescriptors = 1, + .HIDReportType = HID_DTYPE_Report, + .HIDReportLength = sizeof(RawReport) + }, + .Raw_INEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint + }, + .EndpointAddress = (ENDPOINT_DIR_IN | RAW_IN_EPNUM), + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = RAW_EPSIZE, + .PollingIntervalMS = 0x01 + }, + .Raw_OUTEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint }, + .EndpointAddress = (ENDPOINT_DIR_OUT | RAW_OUT_EPNUM), + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = RAW_EPSIZE, + .PollingIntervalMS = 0x01 + }, #endif - /* - * Raw - */ - #ifdef RAW_ENABLE - .Raw_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = RAW_INTERFACE, - .AlternateSetting = 0x00, - - .TotalEndpoints = 2, - - .Class = HID_CSCP_HIDClass, - .SubClass = HID_CSCP_NonBootSubclass, - .Protocol = HID_CSCP_NonBootProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR - }, - - .Raw_HID = - { - .Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = HID_DTYPE_HID}, - - .HIDSpec = VERSION_BCD(1,1,1), - .CountryCode = 0x00, - .TotalReportDescriptors = 1, - .HIDReportType = HID_DTYPE_Report, - .HIDReportLength = sizeof(RawReport) - }, - - .Raw_INEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = (ENDPOINT_DIR_IN | RAW_IN_EPNUM), - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = RAW_EPSIZE, - .PollingIntervalMS = 0x01 - }, - - .Raw_OUTEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = (ENDPOINT_DIR_OUT | RAW_OUT_EPNUM), - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = RAW_EPSIZE, - .PollingIntervalMS = 0x01 - }, - #endif - +#ifdef CONSOLE_ENABLE /* * Console */ -#ifdef CONSOLE_ENABLE - .Console_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = CONSOLE_INTERFACE, - .AlternateSetting = 0x00, - - .TotalEndpoints = 2, - - .Class = HID_CSCP_HIDClass, - .SubClass = HID_CSCP_NonBootSubclass, - .Protocol = HID_CSCP_NonBootProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR + .Console_Interface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface }, - - .Console_HID = - { - .Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = HID_DTYPE_HID}, - - .HIDSpec = VERSION_BCD(1,1,1), - .CountryCode = 0x00, - .TotalReportDescriptors = 1, - .HIDReportType = HID_DTYPE_Report, - .HIDReportLength = sizeof(ConsoleReport) + .InterfaceNumber = CONSOLE_INTERFACE, + .AlternateSetting = 0x00, + .TotalEndpoints = 2, + .Class = HID_CSCP_HIDClass, + .SubClass = HID_CSCP_NonBootSubclass, + .Protocol = HID_CSCP_NonBootProtocol, + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .Console_HID = { + .Header = { + .Size = sizeof(USB_HID_Descriptor_HID_t), + .Type = HID_DTYPE_HID }, - - .Console_INEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = (ENDPOINT_DIR_IN | CONSOLE_IN_EPNUM), - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = CONSOLE_EPSIZE, - .PollingIntervalMS = 0x01 + .HIDSpec = VERSION_BCD(1, 1, 1), + .CountryCode = 0x00, + .TotalReportDescriptors = 1, + .HIDReportType = HID_DTYPE_Report, + .HIDReportLength = sizeof(ConsoleReport) + }, + .Console_INEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint }, - - .Console_OUTEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = (ENDPOINT_DIR_OUT | CONSOLE_OUT_EPNUM), - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = CONSOLE_EPSIZE, - .PollingIntervalMS = 0x01 + .EndpointAddress = (ENDPOINT_DIR_IN | CONSOLE_IN_EPNUM), + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = CONSOLE_EPSIZE, + .PollingIntervalMS = 0x01 + }, + .Console_OUTEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint }, + .EndpointAddress = (ENDPOINT_DIR_OUT | CONSOLE_OUT_EPNUM), + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = CONSOLE_EPSIZE, + .PollingIntervalMS = 0x01 + }, #endif #ifdef MIDI_ENABLE - .Audio_Interface_Association = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation}, - - .FirstInterfaceIndex = AC_INTERFACE, - .TotalInterfaces = 2, - - .Class = AUDIO_CSCP_AudioClass, - .SubClass = AUDIO_CSCP_ControlSubclass, - .Protocol = AUDIO_CSCP_ControlProtocol, - - .IADStrIndex = NO_DESCRIPTOR, + /* + * MIDI + */ + .Audio_Interface_Association = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_Association_t), + .Type = DTYPE_InterfaceAssociation }, - .Audio_ControlInterface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = AC_INTERFACE, - .AlternateSetting = 0, - - .TotalEndpoints = 0, - - .Class = AUDIO_CSCP_AudioClass, - .SubClass = AUDIO_CSCP_ControlSubclass, - .Protocol = AUDIO_CSCP_ControlProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR + .FirstInterfaceIndex = AC_INTERFACE, + .TotalInterfaces = 2, + .Class = AUDIO_CSCP_AudioClass, + .SubClass = AUDIO_CSCP_ControlSubclass, + .Protocol = AUDIO_CSCP_ControlProtocol, + .IADStrIndex = NO_DESCRIPTOR, + }, + .Audio_ControlInterface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface }, - - .Audio_ControlInterface_SPC = - { - .Header = {.Size = sizeof(USB_Audio_Descriptor_Interface_AC_t), .Type = DTYPE_CSInterface}, - .Subtype = AUDIO_DSUBTYPE_CSInterface_Header, - - .ACSpecification = VERSION_BCD(1,0,0), - .TotalLength = sizeof(USB_Audio_Descriptor_Interface_AC_t), - - .InCollection = 1, - .InterfaceNumber = AS_INTERFACE, + .InterfaceNumber = AC_INTERFACE, + .AlternateSetting = 0, + .TotalEndpoints = 0, + .Class = AUDIO_CSCP_AudioClass, + .SubClass = AUDIO_CSCP_ControlSubclass, + .Protocol = AUDIO_CSCP_ControlProtocol, + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .Audio_ControlInterface_SPC = { + .Header = { + .Size = sizeof(USB_Audio_Descriptor_Interface_AC_t), + .Type = DTYPE_CSInterface }, - - .Audio_StreamInterface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = AS_INTERFACE, - .AlternateSetting = 0, - - .TotalEndpoints = 2, - - .Class = AUDIO_CSCP_AudioClass, - .SubClass = AUDIO_CSCP_MIDIStreamingSubclass, - .Protocol = AUDIO_CSCP_StreamingProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR + .Subtype = AUDIO_DSUBTYPE_CSInterface_Header, + .ACSpecification = VERSION_BCD(1, 0, 0), + .TotalLength = sizeof(USB_Audio_Descriptor_Interface_AC_t), + .InCollection = 1, + .InterfaceNumber = AS_INTERFACE, + }, + .Audio_StreamInterface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface }, - - .Audio_StreamInterface_SPC = - { - .Header = {.Size = sizeof(USB_MIDI_Descriptor_AudioInterface_AS_t), .Type = DTYPE_CSInterface}, - .Subtype = AUDIO_DSUBTYPE_CSInterface_General, - - .AudioSpecification = VERSION_BCD(1,0,0), - - .TotalLength = offsetof(USB_Descriptor_Configuration_t, MIDI_Out_Jack_Endpoint_SPC) - + sizeof(USB_MIDI_Descriptor_Jack_Endpoint_t) - - offsetof(USB_Descriptor_Configuration_t, Audio_StreamInterface_SPC) + .InterfaceNumber = AS_INTERFACE, + .AlternateSetting = 0, + .TotalEndpoints = 2, + .Class = AUDIO_CSCP_AudioClass, + .SubClass = AUDIO_CSCP_MIDIStreamingSubclass, + .Protocol = AUDIO_CSCP_StreamingProtocol, + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .Audio_StreamInterface_SPC = { + .Header = { + .Size = sizeof(USB_MIDI_Descriptor_AudioInterface_AS_t), + .Type = DTYPE_CSInterface }, - - .MIDI_In_Jack_Emb = - { - .Header = {.Size = sizeof(USB_MIDI_Descriptor_InputJack_t), .Type = DTYPE_CSInterface}, - .Subtype = AUDIO_DSUBTYPE_CSInterface_InputTerminal, - - .JackType = MIDI_JACKTYPE_Embedded, - .JackID = 0x01, - - .JackStrIndex = NO_DESCRIPTOR + .Subtype = AUDIO_DSUBTYPE_CSInterface_General, + .AudioSpecification = VERSION_BCD(1, 0, 0), + .TotalLength = offsetof(USB_Descriptor_Configuration_t, MIDI_Out_Jack_Endpoint_SPC) + sizeof(USB_MIDI_Descriptor_Jack_Endpoint_t) - offsetof(USB_Descriptor_Configuration_t, Audio_StreamInterface_SPC) + }, + .MIDI_In_Jack_Emb = { + .Header = { + .Size = sizeof(USB_MIDI_Descriptor_InputJack_t), + .Type = DTYPE_CSInterface }, - - .MIDI_In_Jack_Ext = - { - .Header = {.Size = sizeof(USB_MIDI_Descriptor_InputJack_t), .Type = DTYPE_CSInterface}, - .Subtype = AUDIO_DSUBTYPE_CSInterface_InputTerminal, - - .JackType = MIDI_JACKTYPE_External, - .JackID = 0x02, - - .JackStrIndex = NO_DESCRIPTOR + .Subtype = AUDIO_DSUBTYPE_CSInterface_InputTerminal, + .JackType = MIDI_JACKTYPE_Embedded, + .JackID = 0x01, + .JackStrIndex = NO_DESCRIPTOR + }, + .MIDI_In_Jack_Ext = { + .Header = { + .Size = sizeof(USB_MIDI_Descriptor_InputJack_t), + .Type = DTYPE_CSInterface }, - - .MIDI_Out_Jack_Emb = - { - .Header = {.Size = sizeof(USB_MIDI_Descriptor_OutputJack_t), .Type = DTYPE_CSInterface}, - .Subtype = AUDIO_DSUBTYPE_CSInterface_OutputTerminal, - - .JackType = MIDI_JACKTYPE_Embedded, - .JackID = 0x03, - - .NumberOfPins = 1, - .SourceJackID = {0x02}, - .SourcePinID = {0x01}, - - .JackStrIndex = NO_DESCRIPTOR + .Subtype = AUDIO_DSUBTYPE_CSInterface_InputTerminal, + .JackType = MIDI_JACKTYPE_External, + .JackID = 0x02, + .JackStrIndex = NO_DESCRIPTOR + }, + .MIDI_Out_Jack_Emb = { + .Header = { + .Size = sizeof(USB_MIDI_Descriptor_OutputJack_t), + .Type = DTYPE_CSInterface }, - - .MIDI_Out_Jack_Ext = - { - .Header = {.Size = sizeof(USB_MIDI_Descriptor_OutputJack_t), .Type = DTYPE_CSInterface}, - .Subtype = AUDIO_DSUBTYPE_CSInterface_OutputTerminal, - - .JackType = MIDI_JACKTYPE_External, - .JackID = 0x04, - - .NumberOfPins = 1, - .SourceJackID = {0x01}, - .SourcePinID = {0x01}, - - .JackStrIndex = NO_DESCRIPTOR + .Subtype = AUDIO_DSUBTYPE_CSInterface_OutputTerminal, + .JackType = MIDI_JACKTYPE_Embedded, + .JackID = 0x03, + .NumberOfPins = 1, + .SourceJackID = {0x02}, + .SourcePinID = {0x01}, + .JackStrIndex = NO_DESCRIPTOR + }, + .MIDI_Out_Jack_Ext = { + .Header = { + .Size = sizeof(USB_MIDI_Descriptor_OutputJack_t), + .Type = DTYPE_CSInterface }, - - .MIDI_In_Jack_Endpoint = - { - .Endpoint = - { - .Header = {.Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Std_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = MIDI_STREAM_OUT_EPADDR, - .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = MIDI_STREAM_EPSIZE, - .PollingIntervalMS = 0x05 - }, - - .Refresh = 0, - .SyncEndpointNumber = 0 + .Subtype = AUDIO_DSUBTYPE_CSInterface_OutputTerminal, + .JackType = MIDI_JACKTYPE_External, + .JackID = 0x04, + .NumberOfPins = 1, + .SourceJackID = {0x01}, + .SourcePinID = {0x01}, + .JackStrIndex = NO_DESCRIPTOR + }, + .MIDI_In_Jack_Endpoint = { + .Endpoint = { + .Header = { + .Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Std_t), + .Type = DTYPE_Endpoint + }, + .EndpointAddress = MIDI_STREAM_OUT_EPADDR, + .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = MIDI_STREAM_EPSIZE, + .PollingIntervalMS = 0x05 }, - - .MIDI_In_Jack_Endpoint_SPC = - { - .Header = {.Size = sizeof(USB_MIDI_Descriptor_Jack_Endpoint_t), .Type = DTYPE_CSEndpoint}, - .Subtype = AUDIO_DSUBTYPE_CSEndpoint_General, - - .TotalEmbeddedJacks = 0x01, - .AssociatedJackID = {0x01} + .Refresh = 0, + .SyncEndpointNumber = 0 + }, + .MIDI_In_Jack_Endpoint_SPC = { + .Header = { + .Size = sizeof(USB_MIDI_Descriptor_Jack_Endpoint_t), + .Type = DTYPE_CSEndpoint }, - - .MIDI_Out_Jack_Endpoint = - { - .Endpoint = - { - .Header = {.Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Std_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = MIDI_STREAM_IN_EPADDR, - .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = MIDI_STREAM_EPSIZE, - .PollingIntervalMS = 0x05 - }, - - .Refresh = 0, - .SyncEndpointNumber = 0 + .Subtype = AUDIO_DSUBTYPE_CSEndpoint_General, + .TotalEmbeddedJacks = 0x01, + .AssociatedJackID = {0x01} + }, + .MIDI_Out_Jack_Endpoint = { + .Endpoint = { + .Header = { + .Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Std_t), + .Type = DTYPE_Endpoint + }, + .EndpointAddress = MIDI_STREAM_IN_EPADDR, + .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = MIDI_STREAM_EPSIZE, + .PollingIntervalMS = 0x05 }, - - .MIDI_Out_Jack_Endpoint_SPC = - { - .Header = {.Size = sizeof(USB_MIDI_Descriptor_Jack_Endpoint_t), .Type = DTYPE_CSEndpoint}, - .Subtype = AUDIO_DSUBTYPE_CSEndpoint_General, - - .TotalEmbeddedJacks = 0x01, - .AssociatedJackID = {0x03} + .Refresh = 0, + .SyncEndpointNumber = 0 + }, + .MIDI_Out_Jack_Endpoint_SPC = { + .Header = { + .Size = sizeof(USB_MIDI_Descriptor_Jack_Endpoint_t), + .Type = DTYPE_CSEndpoint }, + .Subtype = AUDIO_DSUBTYPE_CSEndpoint_General, + .TotalEmbeddedJacks = 0x01, + .AssociatedJackID = {0x03} + }, #endif #ifdef VIRTSER_ENABLE - .CDC_Interface_Association = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation}, - - .FirstInterfaceIndex = CCI_INTERFACE, - .TotalInterfaces = 2, - - .Class = CDC_CSCP_CDCClass, - .SubClass = CDC_CSCP_ACMSubclass, - .Protocol = CDC_CSCP_ATCommandProtocol, - - .IADStrIndex = NO_DESCRIPTOR, - }, - - .CDC_CCI_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = CCI_INTERFACE, - .AlternateSetting = 0, - - .TotalEndpoints = 1, - - .Class = CDC_CSCP_CDCClass, - .SubClass = CDC_CSCP_ACMSubclass, - .Protocol = CDC_CSCP_ATCommandProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR - }, - - .CDC_Functional_Header = - { - .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), .Type = DTYPE_CSInterface}, - .Subtype = 0x00, - - .CDCSpecification = VERSION_BCD(1,1,0), - }, - - .CDC_Functional_ACM = - { - .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), .Type = DTYPE_CSInterface}, - .Subtype = 0x02, - - .Capabilities = 0x02, - }, - - .CDC_Functional_Union = - { - .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface}, - .Subtype = 0x06, - - .MasterInterfaceNumber = CCI_INTERFACE, - .SlaveInterfaceNumber = CDI_INTERFACE, - }, - - .CDC_NotificationEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = CDC_NOTIFICATION_EPADDR, - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = CDC_NOTIFICATION_EPSIZE, - .PollingIntervalMS = 0xFF - }, - - .CDC_DCI_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = CDI_INTERFACE, - .AlternateSetting = 0, - - .TotalEndpoints = 2, - - .Class = CDC_CSCP_CDCDataClass, - .SubClass = CDC_CSCP_NoDataSubclass, - .Protocol = CDC_CSCP_NoDataProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR - }, - - .CDC_DataOutEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = CDC_OUT_EPADDR, - .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = CDC_EPSIZE, - .PollingIntervalMS = 0x05 - }, - - .CDC_DataInEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = CDC_IN_EPADDR, - .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = CDC_EPSIZE, - .PollingIntervalMS = 0x05 - }, + /* + * Virtual Serial + */ + .CDC_Interface_Association = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_Association_t), + .Type = DTYPE_InterfaceAssociation + }, + .FirstInterfaceIndex = CCI_INTERFACE, + .TotalInterfaces = 2, + .Class = CDC_CSCP_CDCClass, + .SubClass = CDC_CSCP_ACMSubclass, + .Protocol = CDC_CSCP_ATCommandProtocol, + .IADStrIndex = NO_DESCRIPTOR, + }, + .CDC_CCI_Interface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface + }, + .InterfaceNumber = CCI_INTERFACE, + .AlternateSetting = 0, + .TotalEndpoints = 1, + .Class = CDC_CSCP_CDCClass, + .SubClass = CDC_CSCP_ACMSubclass, + .Protocol = CDC_CSCP_ATCommandProtocol, + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .CDC_Functional_Header = { + .Header = { + .Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), + .Type = DTYPE_CSInterface + }, + .Subtype = 0x00, + .CDCSpecification = VERSION_BCD(1, 1, 0), + }, + .CDC_Functional_ACM = { + .Header = { + .Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), + .Type = DTYPE_CSInterface + }, + .Subtype = 0x02, + .Capabilities = 0x02, + }, + .CDC_Functional_Union = { + .Header = { + .Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), + .Type = DTYPE_CSInterface + }, + .Subtype = 0x06, + .MasterInterfaceNumber = CCI_INTERFACE, + .SlaveInterfaceNumber = CDI_INTERFACE, + }, + .CDC_NotificationEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint + }, + .EndpointAddress = CDC_NOTIFICATION_EPADDR, + .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = CDC_NOTIFICATION_EPSIZE, + .PollingIntervalMS = 0xFF + }, + .CDC_DCI_Interface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface + }, + .InterfaceNumber = CDI_INTERFACE, + .AlternateSetting = 0, + .TotalEndpoints = 2, + .Class = CDC_CSCP_CDCDataClass, + .SubClass = CDC_CSCP_NoDataSubclass, + .Protocol = CDC_CSCP_NoDataProtocol, + .InterfaceStrIndex = NO_DESCRIPTOR + }, + .CDC_DataOutEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint + }, + .EndpointAddress = CDC_OUT_EPADDR, + .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = CDC_EPSIZE, + .PollingIntervalMS = 0x05 + }, + .CDC_DataInEndpoint = { + .Header = { + .Size = sizeof(USB_Descriptor_Endpoint_t), + .Type = DTYPE_Endpoint + }, + .EndpointAddress = CDC_IN_EPADDR, + .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), + .EndpointSize = CDC_EPSIZE, + .PollingIntervalMS = 0x05 + }, #endif }; - -/******************************************************************************* - * String Descriptors - ******************************************************************************/ -const USB_Descriptor_String_t PROGMEM LanguageString = -{ - .Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String}, - - .UnicodeString = {LANGUAGE_ID_ENG} +/* + * String descriptors + */ +const USB_Descriptor_String_t PROGMEM LanguageString = { + .Header = { + .Size = USB_STRING_LEN(1), + .Type = DTYPE_String + }, + .UnicodeString = {LANGUAGE_ID_ENG} }; -const USB_Descriptor_String_t PROGMEM ManufacturerString = -{ - /* subtract 1 for null terminator */ - .Header = {.Size = USB_STRING_LEN(sizeof(STR(MANUFACTURER))-1), .Type = DTYPE_String}, - - .UnicodeString = LSTR(MANUFACTURER) +const USB_Descriptor_String_t PROGMEM ManufacturerString = { + .Header = { + .Size = USB_STRING_LEN(sizeof(STR(MANUFACTURER)) - 1), // Subtract 1 for null terminator + .Type = DTYPE_String + }, + .UnicodeString = LSTR(MANUFACTURER) }; -const USB_Descriptor_String_t PROGMEM ProductString = -{ - /* subtract 1 for null terminator */ - .Header = {.Size = USB_STRING_LEN(sizeof(STR(PRODUCT))-1), .Type = DTYPE_String}, - - .UnicodeString = LSTR(PRODUCT) +const USB_Descriptor_String_t PROGMEM ProductString = { + .Header = { + .Size = USB_STRING_LEN(sizeof(STR(PRODUCT)) - 1), // Subtract 1 for null terminator + .Type = DTYPE_String + }, + .UnicodeString = LSTR(PRODUCT) }; #ifndef SERIAL_NUMBER #define SERIAL_NUMBER 0 #endif -const USB_Descriptor_String_t PROGMEM SerialNumberString = -{ - /* subtract 1 for null terminator */ - .Header = {.Size = USB_STRING_LEN(sizeof(STR(SERIAL_NUMBER))-1), .Type = DTYPE_String}, - - .UnicodeString = LSTR(SERIAL_NUMBER) +const USB_Descriptor_String_t PROGMEM SerialNumberString = { + .Header = { + .Size = USB_STRING_LEN(sizeof(STR(SERIAL_NUMBER)) - 1), // Subtract 1 for null terminator + .Type = DTYPE_String + }, + .UnicodeString = LSTR(SERIAL_NUMBER) }; - -/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors" - * documentation) by the application code so that the address and size of a requested descriptor can be given - * to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function - * is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the - * USB host. +/** + * This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors" + * documentation) by the application code so that the address and size of a requested descriptor can be given + * to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function + * is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the + * USB host. */ -uint16_t get_usb_descriptor(const uint16_t wValue, - const uint16_t wIndex, - const void** const DescriptorAddress) -{ - const uint8_t DescriptorType = (wValue >> 8); - const uint8_t DescriptorIndex = (wValue & 0xFF); - - const void* Address = NULL; - uint16_t Size = NO_DESCRIPTOR; - - switch (DescriptorType) - { +uint16_t get_usb_descriptor(const uint16_t wValue, const uint16_t wIndex, const void** const DescriptorAddress) { + const uint8_t DescriptorType = (wValue >> 8); + const uint8_t DescriptorIndex = (wValue & 0xFF); + const void* Address = NULL; + uint16_t Size = NO_DESCRIPTOR; + + switch (DescriptorType) { case DTYPE_Device: Address = &DeviceDescriptor; Size = sizeof(USB_Descriptor_Device_t); + break; case DTYPE_Configuration: Address = &ConfigurationDescriptor; Size = sizeof(USB_Descriptor_Configuration_t); + break; case DTYPE_String: - switch (DescriptorIndex ) - { + switch (DescriptorIndex) { case 0x00: Address = &LanguageString; Size = pgm_read_byte(&LanguageString.Header.Size); + break; case 0x01: Address = &ManufacturerString; Size = pgm_read_byte(&ManufacturerString.Header.Size); + break; case 0x02: Address = &ProductString; Size = pgm_read_byte(&ProductString.Header.Size); + break; case 0x03: Address = &SerialNumberString; Size = pgm_read_byte(&SerialNumberString.Header.Size); + break; } + break; case HID_DTYPE_HID: switch (wIndex) { #ifndef KEYBOARD_SHARED_EP - case KEYBOARD_INTERFACE: - Address = &ConfigurationDescriptor.Keyboard_HID; - Size = sizeof(USB_HID_Descriptor_HID_t); - break; + case KEYBOARD_INTERFACE: + Address = &ConfigurationDescriptor.Keyboard_HID; + Size = sizeof(USB_HID_Descriptor_HID_t); + break; #endif + #if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) - case MOUSE_INTERFACE: - Address = &ConfigurationDescriptor.Mouse_HID; - Size = sizeof(USB_HID_Descriptor_HID_t); - break; + case MOUSE_INTERFACE: + Address = &ConfigurationDescriptor.Mouse_HID; + Size = sizeof(USB_HID_Descriptor_HID_t); + + break; #endif + #ifdef SHARED_EP_ENABLE - case SHARED_INTERFACE: - Address = &ConfigurationDescriptor.Shared_HID; - Size = sizeof(USB_HID_Descriptor_HID_t); - break; + case SHARED_INTERFACE: + Address = &ConfigurationDescriptor.Shared_HID; + Size = sizeof(USB_HID_Descriptor_HID_t); + + break; #endif + #ifdef RAW_ENABLE - case RAW_INTERFACE: - Address = &ConfigurationDescriptor.Raw_HID; - Size = sizeof(USB_HID_Descriptor_HID_t); - break; + case RAW_INTERFACE: + Address = &ConfigurationDescriptor.Raw_HID; + Size = sizeof(USB_HID_Descriptor_HID_t); + + break; #endif + #ifdef CONSOLE_ENABLE - case CONSOLE_INTERFACE: - Address = &ConfigurationDescriptor.Console_HID; - Size = sizeof(USB_HID_Descriptor_HID_t); - break; + case CONSOLE_INTERFACE: + Address = &ConfigurationDescriptor.Console_HID; + Size = sizeof(USB_HID_Descriptor_HID_t); + + break; #endif } + break; case HID_DTYPE_Report: switch (wIndex) { #ifndef KEYBOARD_SHARED_EP - case KEYBOARD_INTERFACE: - Address = &KeyboardReport; - Size = sizeof(KeyboardReport); - break; + case KEYBOARD_INTERFACE: + Address = &KeyboardReport; + Size = sizeof(KeyboardReport); + + break; #endif + #if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) - case MOUSE_INTERFACE: - Address = &MouseReport; - Size = sizeof(MouseReport); - break; + case MOUSE_INTERFACE: + Address = &MouseReport; + Size = sizeof(MouseReport); + + break; #endif + #ifdef SHARED_EP_ENABLE - case SHARED_INTERFACE: - Address = &SharedReport; - Size = sizeof(SharedReport); - break; + case SHARED_INTERFACE: + Address = &SharedReport; + Size = sizeof(SharedReport); + + break; #endif + #ifdef RAW_ENABLE - case RAW_INTERFACE: - Address = &RawReport; - Size = sizeof(RawReport); - break; + case RAW_INTERFACE: + Address = &RawReport; + Size = sizeof(RawReport); + + break; #endif + #ifdef CONSOLE_ENABLE - case CONSOLE_INTERFACE: - Address = &ConsoleReport; - Size = sizeof(ConsoleReport); - break; + case CONSOLE_INTERFACE: + Address = &ConsoleReport; + Size = sizeof(ConsoleReport); + + break; #endif } + break; } *DescriptorAddress = Address; + return Size; } diff --git a/tmk_core/protocol/usb_descriptor.h b/tmk_core/protocol/usb_descriptor.h index 3ca0c00b34f2..d419568034a1 100644 --- a/tmk_core/protocol/usb_descriptor.h +++ b/tmk_core/protocol/usb_descriptor.h @@ -6,95 +6,97 @@ */ /* - LUFA Library - Copyright (C) Dean Camera, 2012. + LUFA Library + Copyright (C) Dean Camera, 2012. - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org */ /* - Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Copyright 2010 Denver Gingerich (denver [at] ossguy [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaim all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. + Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2010 Denver Gingerich (denver [at] ossguy [dot] com) + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaim all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. */ /** \file * * Header file for Descriptors.c. */ - #ifndef _DESCRIPTORS_H_ -#define _DESCRIPTORS_H_ + #define _DESCRIPTORS_H_ -#include -#ifdef PROTOCOL_CHIBIOS -#include "hal.h" -#endif + #include -typedef struct -{ - USB_Descriptor_Configuration_Header_t Config; + #ifdef PROTOCOL_CHIBIOS + #include "hal.h" + #endif + +/* + * USB descriptor structure + */ +typedef struct { + USB_Descriptor_Configuration_Header_t Config; -#ifndef KEYBOARD_SHARED_EP + #ifndef KEYBOARD_SHARED_EP // Keyboard HID Interface - USB_Descriptor_Interface_t Keyboard_Interface; - USB_HID_Descriptor_HID_t Keyboard_HID; - USB_Descriptor_Endpoint_t Keyboard_INEndpoint; -#endif + USB_Descriptor_Interface_t Keyboard_Interface; + USB_HID_Descriptor_HID_t Keyboard_HID; + USB_Descriptor_Endpoint_t Keyboard_INEndpoint; + #endif -#if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) + #if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) // Mouse HID Interface - USB_Descriptor_Interface_t Mouse_Interface; - USB_HID_Descriptor_HID_t Mouse_HID; - USB_Descriptor_Endpoint_t Mouse_INEndpoint; -#endif - -#if defined(SHARED_EP_ENABLE) - USB_Descriptor_Interface_t Shared_Interface; - USB_HID_Descriptor_HID_t Shared_HID; - USB_Descriptor_Endpoint_t Shared_INEndpoint; -#endif - -#if defined(RAW_ENABLE) + USB_Descriptor_Interface_t Mouse_Interface; + USB_HID_Descriptor_HID_t Mouse_HID; + USB_Descriptor_Endpoint_t Mouse_INEndpoint; + #endif + + #ifdef SHARED_EP_ENABLE + // Shared Interface + USB_Descriptor_Interface_t Shared_Interface; + USB_HID_Descriptor_HID_t Shared_HID; + USB_Descriptor_Endpoint_t Shared_INEndpoint; + #endif + + #ifdef RAW_ENABLE // Raw HID Interface - USB_Descriptor_Interface_t Raw_Interface; - USB_HID_Descriptor_HID_t Raw_HID; - USB_Descriptor_Endpoint_t Raw_INEndpoint; - USB_Descriptor_Endpoint_t Raw_OUTEndpoint; -#endif + USB_Descriptor_Interface_t Raw_Interface; + USB_HID_Descriptor_HID_t Raw_HID; + USB_Descriptor_Endpoint_t Raw_INEndpoint; + USB_Descriptor_Endpoint_t Raw_OUTEndpoint; + #endif -#ifdef CONSOLE_ENABLE + #ifdef CONSOLE_ENABLE // Console HID Interface - USB_Descriptor_Interface_t Console_Interface; - USB_HID_Descriptor_HID_t Console_HID; - USB_Descriptor_Endpoint_t Console_INEndpoint; - USB_Descriptor_Endpoint_t Console_OUTEndpoint; -#endif + USB_Descriptor_Interface_t Console_Interface; + USB_HID_Descriptor_HID_t Console_HID; + USB_Descriptor_Endpoint_t Console_INEndpoint; + USB_Descriptor_Endpoint_t Console_OUTEndpoint; + #endif -#ifdef MIDI_ENABLE + #ifdef MIDI_ENABLE USB_Descriptor_Interface_Association_t Audio_Interface_Association; // MIDI Audio Control Interface USB_Descriptor_Interface_t Audio_ControlInterface; USB_Audio_Descriptor_Interface_AC_t Audio_ControlInterface_SPC; - // MIDI Audio Streaming Interface USB_Descriptor_Interface_t Audio_StreamInterface; USB_MIDI_Descriptor_AudioInterface_AS_t Audio_StreamInterface_SPC; @@ -106,141 +108,146 @@ typedef struct USB_MIDI_Descriptor_Jack_Endpoint_t MIDI_In_Jack_Endpoint_SPC; USB_Audio_Descriptor_StreamEndpoint_Std_t MIDI_Out_Jack_Endpoint; USB_MIDI_Descriptor_Jack_Endpoint_t MIDI_Out_Jack_Endpoint_SPC; -#endif - -#ifdef VIRTSER_ENABLE - USB_Descriptor_Interface_Association_t CDC_Interface_Association; - - // CDC Control Interface - USB_Descriptor_Interface_t CDC_CCI_Interface; - USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header; - USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM; - USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union; - USB_Descriptor_Endpoint_t CDC_NotificationEndpoint; - - // CDC Data Interface - USB_Descriptor_Interface_t CDC_DCI_Interface; - USB_Descriptor_Endpoint_t CDC_DataOutEndpoint; - USB_Descriptor_Endpoint_t CDC_DataInEndpoint; -#endif + #endif + + #ifdef VIRTSER_ENABLE + USB_Descriptor_Interface_Association_t CDC_Interface_Association; + // CDC Control Interface + USB_Descriptor_Interface_t CDC_CCI_Interface; + USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header; + USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM; + USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union; + USB_Descriptor_Endpoint_t CDC_NotificationEndpoint; + // CDC Data Interface + USB_Descriptor_Interface_t CDC_DCI_Interface; + USB_Descriptor_Endpoint_t CDC_DataOutEndpoint; + USB_Descriptor_Endpoint_t CDC_DataInEndpoint; + #endif } USB_Descriptor_Configuration_t; - -/* index of interface */ +/* + * Interface indexes + */ enum usb_interfaces { -#if !defined(KEYBOARD_SHARED_EP) + #ifndef KEYBOARD_SHARED_EP KEYBOARD_INTERFACE, -#else -# define KEYBOARD_INTERFACE SHARED_INTERFACE -#endif -// It is important that the Raw HID interface is at a constant -// interface number, to support Linux/OSX platforms and chrome.hid -// If Raw HID is enabled, let it be always 1. -#if defined(RAW_ENABLE) + #else + #define KEYBOARD_INTERFACE SHARED_INTERFACE + #endif + + // It is important that the Raw HID interface is at a constant + // interface number, to support Linux/OSX platforms and chrome.hid + // If Raw HID is enabled, let it be always 1. + #ifdef RAW_ENABLE RAW_INTERFACE, -#endif -#if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) + #endif + + #if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) MOUSE_INTERFACE, -#endif -#if defined(SHARED_EP_ENABLE) + #endif + + #ifdef SHARED_EP_ENABLE SHARED_INTERFACE, -#endif -#if defined(CONSOLE_ENABLE) + #endif + + #ifdef CONSOLE_ENABLE CONSOLE_INTERFACE, -#endif -#if defined(MIDI_ENABLE) + #endif + + #ifdef MIDI_ENABLE AC_INTERFACE, AS_INTERFACE, -#endif -#if defined(VIRTSER_ENABLE) + #endif + + #ifdef VIRTSER_ENABLE CCI_INTERFACE, CDI_INTERFACE, -#endif + #endif + TOTAL_INTERFACES }; -#define NEXT_EPNUM __COUNTER__ + #define NEXT_EPNUM __COUNTER__ +/* + * Endpoint numbers + */ enum usb_endpoints { - __unused_epnum__ = NEXT_EPNUM, /* EP numbering starts at 1 */ -#if !defined(KEYBOARD_SHARED_EP) + __unused_epnum__ = NEXT_EPNUM, // Endpoint numbering starts at 1 + + #ifndef KEYBOARD_SHARED_EP KEYBOARD_IN_EPNUM = NEXT_EPNUM, -#else -# define KEYBOARD_IN_EPNUM SHARED_IN_EPNUM -#endif -#if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) + #else + #define KEYBOARD_IN_EPNUM SHARED_IN_EPNUM + #endif + + #if defined(MOUSE_ENABLE) && !defined(MOUSE_SHARED_EP) MOUSE_IN_EPNUM = NEXT_EPNUM, -#else -# define MOUSE_IN_EPNUM SHARED_IN_EPNUM -#endif -#if defined(RAW_ENABLE) + #else + #define MOUSE_IN_EPNUM SHARED_IN_EPNUM + #endif + + #ifdef RAW_ENABLE RAW_IN_EPNUM = NEXT_EPNUM, RAW_OUT_EPNUM = NEXT_EPNUM, -#endif -#if defined(SHARED_EP_ENABLE) + #endif + + #ifdef SHARED_EP_ENABLE SHARED_IN_EPNUM = NEXT_EPNUM, -#endif -#if defined(CONSOLE_ENABLE) + #endif + + #ifdef CONSOLE_ENABLE CONSOLE_IN_EPNUM = NEXT_EPNUM, -#ifdef PROTOCOL_CHIBIOS -// ChibiOS has enough memory and descriptor to actually enable the endpoint -// It could use the same endpoint numbers, as that's supported by ChibiOS -// But the QMK code currently assumes that the endpoint numbers are different + + #ifdef PROTOCOL_CHIBIOS + // ChibiOS has enough memory and descriptor to actually enable the endpoint + // It could use the same endpoint numbers, as that's supported by ChibiOS + // But the QMK code currently assumes that the endpoint numbers are different CONSOLE_OUT_EPNUM = NEXT_EPNUM, -#else -#define CONSOLE_OUT_EPNUM CONSOLE_IN_EPNUM -#endif -#endif -#ifdef MIDI_ENABLE + #else + #define CONSOLE_OUT_EPNUM CONSOLE_IN_EPNUM + #endif + #endif + + #ifdef MIDI_ENABLE MIDI_STREAM_IN_EPNUM = NEXT_EPNUM, MIDI_STREAM_OUT_EPNUM = NEXT_EPNUM, -# define MIDI_STREAM_IN_EPADDR (ENDPOINT_DIR_IN | MIDI_STREAM_IN_EPNUM) -# define MIDI_STREAM_OUT_EPADDR (ENDPOINT_DIR_OUT | MIDI_STREAM_OUT_EPNUM) -#endif -#ifdef VIRTSER_ENABLE + #define MIDI_STREAM_IN_EPADDR (ENDPOINT_DIR_IN | MIDI_STREAM_IN_EPNUM) + #define MIDI_STREAM_OUT_EPADDR (ENDPOINT_DIR_OUT | MIDI_STREAM_OUT_EPNUM) + #endif + + #ifdef VIRTSER_ENABLE CDC_NOTIFICATION_EPNUM = NEXT_EPNUM, CDC_IN_EPNUM = NEXT_EPNUM, CDC_OUT_EPNUM = NEXT_EPNUM, -# define CDC_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | CDC_NOTIFICATION_EPNUM) -# define CDC_IN_EPADDR (ENDPOINT_DIR_IN | CDC_IN_EPNUM) -# define CDC_OUT_EPADDR (ENDPOINT_DIR_OUT | CDC_OUT_EPNUM) -#endif + #define CDC_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | CDC_NOTIFICATION_EPNUM) + #define CDC_IN_EPADDR (ENDPOINT_DIR_IN | CDC_IN_EPNUM) + #define CDC_OUT_EPADDR (ENDPOINT_DIR_OUT | CDC_OUT_EPNUM) + #endif }; -#if defined(PROTOCOL_LUFA) -/* LUFA tells us total endpoints including control */ -#define MAX_ENDPOINTS (ENDPOINT_TOTAL_ENDPOINTS - 1) -#elif defined(PROTOCOL_CHIBIOS) -/* ChibiOS gives us number of available user endpoints, not control */ -#define MAX_ENDPOINTS USB_MAX_ENDPOINTS -#endif -/* TODO - ARM_ATSAM */ - - -#if (NEXT_EPNUM - 1) > MAX_ENDPOINTS -# error There are not enough available endpoints to support all functions. Remove some in the rules.mk file. (MOUSEKEY, EXTRAKEY, CONSOLE, NKRO, MIDI, SERIAL, STENO) -#endif - -#define KEYBOARD_EPSIZE 8 -#define SHARED_EPSIZE 32 -#define MOUSE_EPSIZE 8 -#define RAW_EPSIZE 32 -#define CONSOLE_EPSIZE 32 -#define MIDI_STREAM_EPSIZE 64 -#define CDC_NOTIFICATION_EPSIZE 8 -#define CDC_EPSIZE 16 - -uint16_t get_usb_descriptor(const uint16_t wValue, - const uint16_t wIndex, - const void** const DescriptorAddress); - -/* new API */ -#if LUFA_VERSION_INTEGER < 0x140302 - #undef VERSION_BCD - #define VERSION_BCD(Major, Minor, Revision) \ - CPU_TO_LE16( ((Major & 0xFF) << 8) | \ - ((Minor & 0x0F) << 4) | \ - (Revision & 0x0F) ) -#endif - + #ifdef PROTOCOL_LUFA + // LUFA tells us total endpoints including control + #define MAX_ENDPOINTS (ENDPOINT_TOTAL_ENDPOINTS - 1) + #elif defined(PROTOCOL_CHIBIOS) + // ChibiOS gives us number of available user endpoints, not control + #define MAX_ENDPOINTS USB_MAX_ENDPOINTS + #endif + + // TODO - ARM_ATSAM + + #if (NEXT_EPNUM - 1) > MAX_ENDPOINTS + #error There are not enough available endpoints to support all functions. Please disable one or more of the following: Mouse Keys, Extra Keys, Console, NKRO, MIDI, Serial, Steno + #endif + + #define KEYBOARD_EPSIZE 8 + #define SHARED_EPSIZE 32 + #define MOUSE_EPSIZE 8 + #define RAW_EPSIZE 32 + #define CONSOLE_EPSIZE 32 + #define MIDI_STREAM_EPSIZE 64 + #define CDC_NOTIFICATION_EPSIZE 8 + #define CDC_EPSIZE 16 + +uint16_t get_usb_descriptor(const uint16_t wValue, const uint16_t wIndex, const void** const DescriptorAddress); #endif From 51ee2449060517a96cedb7c38b86a7de0be2ecab Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 9 Jul 2019 12:50:53 -0700 Subject: [PATCH 051/416] Language Keymap extras backport from ZSA fork (#6198) * Swedish extra keymap refactor * Fix swedish $ sign definition (#81) * Fix br abnt2 keymap compilation error * Add PR changelog doc * Update PR6198.md --- docs/ChangeLog/20190830/PR6198.md | 4 ++ quantum/keymap_extras/keymap_br_abnt2.h | 2 +- quantum/keymap_extras/keymap_swedish.h | 84 ++++++++++++++++++------- 3 files changed, 66 insertions(+), 24 deletions(-) create mode 100644 docs/ChangeLog/20190830/PR6198.md diff --git a/docs/ChangeLog/20190830/PR6198.md b/docs/ChangeLog/20190830/PR6198.md new file mode 100644 index 000000000000..9141ac2507b2 --- /dev/null +++ b/docs/ChangeLog/20190830/PR6198.md @@ -0,0 +1,4 @@ +* Backport changes to keymap language files from ZSA fork + * Fixes an issue in the `keymap_br_abnt2.h` file that includes the wrong source (`keymap_common.h` instead of `keymap.h`) + * Updates the `keymap_swedish.h` file to be specific to swedish, and not just "nordic" in general. + * Any keymaps using this will need to remove `NO_*` and replace it with `SE_*`. diff --git a/quantum/keymap_extras/keymap_br_abnt2.h b/quantum/keymap_extras/keymap_br_abnt2.h index b001139dd40a..63b917d8fc65 100644 --- a/quantum/keymap_extras/keymap_br_abnt2.h +++ b/quantum/keymap_extras/keymap_br_abnt2.h @@ -17,7 +17,7 @@ #ifndef KEYMAP_BR_ABNT2_H #define KEYMAP_BR_ABNT2_H -#include "keymap_common.h" +#include "keymap.h" /* Scan codes for the Brazilian ABNT2 keyboard layout */ diff --git a/quantum/keymap_extras/keymap_swedish.h b/quantum/keymap_extras/keymap_swedish.h index d1a0f4f2277f..cc359efcddad 100644 --- a/quantum/keymap_extras/keymap_swedish.h +++ b/quantum/keymap_extras/keymap_swedish.h @@ -17,34 +17,72 @@ #ifndef KEYMAP_SWEDISH_H #define KEYMAP_SWEDISH_H -#include "keymap_nordic.h" +#include "keymap.h" -// There are slight differrences in the keyboards in the nordic contries +// Normal characters +#define SE_HALF KC_GRV +#define SE_PLUS KC_MINS +#define SE_ACUT KC_EQL -// Swedish redifinitions from the nordic keyset -#undef NO_AE -#define NO_AE KC_QUOT // ä -#undef NO_CIRC -#define NO_CIRC LSFT(KC_RBRC) // ^ -#undef NO_OSLH -#define NO_OSLH KC_SCLN // ö +#define SE_AM KC_LBRC +#define SE_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout +#define SE_AE KC_QUOT // ä +#define SE_OSLH KC_SCLN // ö +#define SE_APOS KC_NUHS -// Additional Swedish keys not defined in the nordic keyset -#define NO_AA KC_LBRC // å -#define NO_ASTR LSFT(KC_BSLS) // * +#define SE_LESS KC_NUBS +#define SE_MINS KC_SLSH + +// Shifted characters +#define SE_SECT LSFT(SE_HALF) +#define SE_QUO2 LSFT(KC_2) +#define SE_BULT LSFT(KC_4) +#define SE_AMPR LSFT(KC_6) +#define SE_SLSH LSFT(KC_7) +#define SE_LPRN LSFT(KC_8) +#define SE_RPRN LSFT(KC_9) +#define SE_EQL LSFT(KC_0) +#define SE_QUES LSFT(SE_PLUS) +#define SE_GRV LSFT(SE_ACUT) + +#define SE_CIRC LSFT(KC_RBRC) // ^ + +#define SE_GRTR LSFT(SE_LESS) +#define SE_SCLN LSFT(KC_COMM) +#define SE_COLN LSFT(KC_DOT) +#define SE_UNDS LSFT(SE_MINS) + +// Alt Gr-ed characters +#define SE_AT ALGR(KC_2) +#define SE_PND ALGR(KC_3) +#define SE_DLR ALGR(KC_4) +#define SE_LCBR ALGR(KC_7) +#define SE_LBRC ALGR(KC_8) +#define SE_RBRC ALGR(KC_9) +#define SE_RCBR ALGR(KC_0) +#define SE_PIPE ALGR(KC_NUBS) + +#define SE_EURO ALGR(KC_E) +#define SE_TILD ALGR(SE_QUOT) + +#define SE_BSLS ALGR(KC_MINS) +#define SE_MU ALGR(KC_M) + +#define SE_AA KC_LBRC // å +#define SE_ASTR LSFT(KC_BSLS) // * // Norwegian unique MAC characters (not vetted for Swedish) -#define NO_ACUT_MAC KC_EQL // = -#define NO_APOS_MAC KC_NUBS // ' -#define NO_AT_MAC KC_BSLS // @ -#define NO_BSLS_MAC ALGR(LSFT(KC_7)) // '\' -#define NO_DLR_MAC LSFT(KC_4) // $ -#define NO_GRV_MAC ALGR(NO_BSLS) // ` -#define NO_GRTR_MAC LSFT(KC_GRV) // > -#define NO_LCBR_MAC ALGR(LSFT(KC_8)) // { -#define NO_LESS_MAC KC_GRV // < -#define NO_PIPE_MAC ALGR(KC_7) // | -#define NO_RCBR_MAC ALGR(LSFT(KC_9)) // } +#define SE_ACUT_MAC KC_EQL // = +#define SE_APOS_MAC KC_NUBS // ' +#define SE_AT_MAC KC_BSLS // @ +#define SE_BSLS_MAC ALGR(LSFT(KC_7)) // '\' +#define SE_DLR_MAC ALGR(KC_4) // $ +#define SE_GRV_MAC ALGR(SE_BSLS) // ` +#define SE_GRTR_MAC LSFT(KC_GRV) // > +#define SE_LCBR_MAC ALGR(LSFT(KC_8)) // { +#define SE_LESS_MAC KC_GRV // < +#define SE_PIPE_MAC ALGR(KC_7) // | +#define SE_RCBR_MAC ALGR(LSFT(KC_9)) // } #endif From 9e20478e6bdebc9cea49204482992471bccaf6a1 Mon Sep 17 00:00:00 2001 From: skullydazed Date: Tue, 9 Jul 2019 15:47:18 -0700 Subject: [PATCH 052/416] Enforce clang-format (#6293) * Enforce clang-format on commit for core files * forgot about tests --- util/linux_install.sh | 6 ++++++ util/macos_install.sh | 2 +- util/msys2_install.sh | 2 +- util/travis_compiled_push.sh | 3 ++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/util/linux_install.sh b/util/linux_install.sh index d21cd3c1c9f2..5f29cad941b4 100755 --- a/util/linux_install.sh +++ b/util/linux_install.sh @@ -19,6 +19,7 @@ if grep ID /etc/os-release | grep -qE "fedora"; then avr-gcc \ avr-libc \ binutils-avr32-linux-gnu \ + clang \ dfu-util \ dfu-programmer \ diffutils \ @@ -44,6 +45,7 @@ elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then avr-libc \ binutils-arm-none-eabi \ binutils-avr \ + clang-format \ dfu-programmer \ dfu-util \ diffutils \ @@ -68,6 +70,7 @@ elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then avr-libc \ avr-gcc \ base-devel \ + clang \ dfu-util \ diffutils \ gcc \ @@ -96,6 +99,7 @@ elif grep ID /etc/os-release | grep -q gentoo; then dev-embedded/avrdude \ dev-lang/python:3.5 \ net-misc/wget \ + sys-devel/clang \ sys-devel/gcc \ sys-devel/crossdev sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr @@ -112,6 +116,7 @@ elif grep ID /etc/os-release | grep -q sabayon; then dev-embedded/avrdude \ dev-lang/python \ net-misc/wget \ + sys-devel/clang \ sys-devel/gcc \ sys-devel/crossdev sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr @@ -126,6 +131,7 @@ elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then fi sudo zypper install \ avr-libc \ + clang \ $CROSS_AVR_GCC \ $CROSS_ARM_GCC \ cross-avr-binutils \ diff --git a/util/macos_install.sh b/util/macos_install.sh index f7e3044249d5..d9ec50a7e293 100755 --- a/util/macos_install.sh +++ b/util/macos_install.sh @@ -24,6 +24,6 @@ fi brew tap osx-cross/avr brew tap PX4/homebrew-px4 brew update -brew install avr-gcc@8 gcc-arm-none-eabi dfu-programmer avrdude dfu-util python3 +brew install avr-gcc@8 gcc-arm-none-eabi dfu-programmer avrdude clang-format dfu-util python3 brew link --force avr-gcc@8 pip3 install -r ${util_dir}/../requirements.txt diff --git a/util/msys2_install.sh b/util/msys2_install.sh index bed176da66d8..ac9a6c7694e3 100755 --- a/util/msys2_install.sh +++ b/util/msys2_install.sh @@ -8,7 +8,7 @@ installflip=false util_dir=$(dirname "$0") echo "Installing dependencies needed for the installation (quazip)" -pacman --needed -S base-devel mingw-w64-x86_64-toolchain msys/git msys/p7zip msys/python3 msys/unzip +pacman --needed -S base-devel mingw-w64-x86_64-toolchain msys/clang msys/git msys/p7zip msys/python3 msys/unzip source "$dir/win_shared_install.sh" diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh index 04021ae7c256..f20e30cdb3b9 100755 --- a/util/travis_compiled_push.sh +++ b/util/travis_compiled_push.sh @@ -9,9 +9,10 @@ echo "Using git hash ${rev}" if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then -# convert to unix line-endings +# fix formatting git checkout master git diff --diff-filter=M --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 dos2unix +git diff --diff-filter=M --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | grep -e '^drivers' -e '^quantum' -e '^tests' -e '^tmk_core' | xargs -0 clang-format git diff --diff-filter=M --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add git commit -m "convert to unix line-endings [skip ci]" && git push git@github.com:qmk/qmk_firmware.git master From 554e4bf25c4bcbf263b2e73c6148b7ea1d520762 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 10 Jul 2019 08:47:35 +1000 Subject: [PATCH 053/416] Migrate ACTION_LAYER_MOMENTARYs to MO() (#5176) * Migrate ACTION_LAYER_MOMENTARYs to MO() * Add changelog entry * Update docs/ChangeLog/20190830/PR5176.md Co-Authored-By: skullydazed --- docs/ChangeLog/20190830/PR5176.md | 4 ++++ keyboards/atomic/keymaps/abienz.c | 9 ++------- keyboards/atomic/keymaps/twolayer.c | 5 ----- keyboards/atreus/keymaps/erlandsona/keymap.c | 3 +-- keyboards/atreus62/keymaps/atreus52/keymap.c | 9 +++++---- .../frosty_flake/keymaps/QFR_JM/keymap.c | 4 +--- .../pegasushoof/keymaps/blowrak/keymap.c | 5 ++--- keyboards/dz60/keymaps/LEdiodes/keymap.c | 5 ----- keyboards/gh60/revc/keymaps/maxr1998/keymap.c | 8 ++------ .../gh60/revc/keymaps/robotmaxtron/keymap.c | 3 +-- keyboards/gh60/revc/keymaps/sethbc/keymap.c | 3 +-- keyboards/hhkb/keymaps/shela/keymap.c | 11 +++++------ keyboards/jd45/keymaps/justin/keymap.c | 9 +++++---- .../keebio/nyquist/keymaps/DivergeJM/keymap.c | 6 ++---- keyboards/org60/keymaps/boardy/keymap.c | 13 +++---------- .../planck/keymaps/angerthosenear/keymap.c | 11 ++++------- keyboards/planck/keymaps/austin/keymap.c | 13 +++++-------- keyboards/planck/keymaps/charlie/keymap.c | 5 ++--- keyboards/planck/keymaps/daniel/keymap.c | 15 ++++----------- keyboards/planck/keymaps/david/keymap.c | 11 ++++------- keyboards/planck/keymaps/dzobert/keymap.c | 11 ++++------- keyboards/planck/keymaps/joe/keymap.c | 17 +++++++---------- keyboards/planck/keymaps/kyle/keymap.c | 11 ++++------- keyboards/planck/keymaps/leo/keymap.c | 9 +-------- keyboards/planck/keymaps/lucas/keymap.c | 6 ++---- keyboards/planck/keymaps/max/keymap.c | 13 +++++-------- .../common_keymaps/keymap_brett.c | 12 ++++++------ .../common_keymaps/keymap_dotcom.c | 8 ++++---- .../common_keymaps/keymap_jack.c | 14 +++++++------- .../common_keymaps/keymap_joe.c | 16 ++++++++-------- .../common_keymaps/keymap_matthew.c | 8 ++++---- .../common_keymaps/keymap_nathan.c | 7 ++++--- .../common_keymaps/keymap_paul.c | 18 +++++++++--------- .../common_keymaps/keymap_reed.c | 14 +++++++------- .../common_keymaps/keymap_sean.c | 13 +++++++------ .../common_keymaps/keymap_shane.c | 9 +++++---- .../common_keymaps/keymap_simon.c | 8 ++++---- .../common_keymaps/keymap_tim.c | 12 ++++++------ .../common_keymaps/keymap_wilba.c | 14 +++++++------- .../sentraq/s60_x/keymaps/ansi_qwertz/keymap.c | 4 +--- keyboards/sentraq/s60_x/keymaps/hasu/keymap.c | 17 +++++++++-------- keyboards/sentraq/s60_x/keymaps/hhkb/keymap.c | 11 +++-------- keyboards/sentraq/s60_x/keymaps/jpec/keymap.c | 5 +++-- keyboards/sentraq/s60_x/keymaps/poker/keymap.c | 15 ++++++++------- .../sentraq/s65_x/keymaps/kelorean/keymap.c | 1 - keyboards/sentraq/s65_x/keymaps/nall/keymap.c | 1 - keyboards/whitefox/keymaps/kim-kim/keymap.c | 4 +--- keyboards/whitefox/keymaps/matt3o/keymap.c | 6 ++---- .../winkeyless/bface/keymaps/kpeatt/keymap.c | 4 ---- keyboards/xd60/keymaps/Jos/keymap.c | 4 +--- keyboards/xd60/keymaps/birkir/keymap.c | 11 +++-------- keyboards/xd60/keymaps/edulpn/keymap.c | 9 ++------- keyboards/xd60/keymaps/edulpn64/keymap.c | 9 ++------- keyboards/xd60/keymaps/kmontag42/keymap.c | 9 ++------- keyboards/xd60/keymaps/krusli/keymap.c | 5 ----- .../xd60/keymaps/split_bksp_arrows/keymap.c | 17 +++++++++++++---- keyboards/xd60/keymaps/stanleylai/keymap.c | 14 ++++---------- keyboards/xd60/keymaps/supercoffee/keymap.c | 9 ++------- layouts/community/60_iso/unxmaal/keymap.c | 1 - layouts/community/ergodox/guni/keymap.c | 1 - layouts/community/ergodox/ishigoya-jp/keymap.c | 8 ++------ .../keymap.c | 14 ++++++-------- 62 files changed, 218 insertions(+), 333 deletions(-) create mode 100644 docs/ChangeLog/20190830/PR5176.md diff --git a/docs/ChangeLog/20190830/PR5176.md b/docs/ChangeLog/20190830/PR5176.md new file mode 100644 index 000000000000..c01b2cb1e3a2 --- /dev/null +++ b/docs/ChangeLog/20190830/PR5176.md @@ -0,0 +1,4 @@ +* Migrating `ACTION_LAYER_MOMENTARY()` entries in `fn_actions` to `MO()` keycodes + * `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` + * The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity + * All keymaps affected are recommended to switch away from `fn_actions` in favour of the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features diff --git a/keyboards/atomic/keymaps/abienz.c b/keyboards/atomic/keymaps/abienz.c index 2e69165f24ad..5bc00aa824a2 100644 --- a/keyboards/atomic/keymaps/abienz.c +++ b/keyboards/atomic/keymaps/abienz.c @@ -6,22 +6,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, KC_ENT, KC_NO, KC_PGUP, KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, CM_COMM, CM_DOT, CM_SLSH, KC_RSFT, KC_NO, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_NO, KC_LALT, FUNC(1), KC_SPC, KC_NO, KC_RALT, FUNC(2), KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, + KC_LCTL, KC_LGUI, KC_NO, KC_LALT, MO(1), KC_SPC, KC_NO, KC_RALT, MO(1), KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, ), [1] = LAYOUT_grid( /* function */ 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_BSPC, 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_SLEP, KC_TRNS, KC_TRNS, KC_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_TRNS, KC_TRNS, KC_VOLU, KC_MPLY, - KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, FUNC(1), KC_TRNS, KC_NO, KC_TRNS, FUNC(2), KC_TRNS, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, + KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, MO(1), KC_TRNS, KC_NO, KC_TRNS, MO(1), KC_TRNS, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, ), }; -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), - [2] = ACTION_LAYER_MOMENTARY(1), -}; - const macro_t * action_get_macro(keyrecord_t * record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function switch (id) { diff --git a/keyboards/atomic/keymaps/twolayer.c b/keyboards/atomic/keymaps/twolayer.c index f0ff56467da2..9ecbbc6df3b0 100644 --- a/keyboards/atomic/keymaps/twolayer.c +++ b/keyboards/atomic/keymaps/twolayer.c @@ -45,11 +45,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), - [2] = ACTION_LAYER_MOMENTARY(1), -}; - const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function switch(id) { diff --git a/keyboards/atreus/keymaps/erlandsona/keymap.c b/keyboards/atreus/keymaps/erlandsona/keymap.c index e890e7f52812..e25f4f089d00 100644 --- a/keyboards/atreus/keymaps/erlandsona/keymap.c +++ b/keyboards/atreus/keymaps/erlandsona/keymap.c @@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , SFT_T(KC_Z), KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , SFT_T(KC_QUOT), - KC_LCTL , KC_LALT, KC_LALT, KC_LGUI, KC_BSPC, KC_ESC, KC_ENT, KC_SPC, F(NUMS), KC_RALT, KC_SLSH, KC_BSLS + KC_LCTL , KC_LALT, KC_LALT, KC_LGUI, KC_BSPC, KC_ESC, KC_ENT, KC_SPC, MO(NUMS),KC_RALT, KC_SLSH, KC_BSLS ), [NUMS] = LAYOUT( /* Numbers / Arrows / Symbols */ @@ -39,7 +39,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // so that I can get out of mouse mode just by tapping/holding my base layer FN key. const uint16_t PROGMEM fn_actions[] = { [BASE] = ACTION_LAYER_OFF(2, 1), // switch back to layer 0 - [NUMS] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay [MOUS] = ACTION_LAYER_ON(2, 1) // switch to layer 2 }; diff --git a/keyboards/atreus62/keymaps/atreus52/keymap.c b/keyboards/atreus62/keymaps/atreus52/keymap.c index 72bb886534da..c7dcb67653cd 100644 --- a/keyboards/atreus62/keymaps/atreus52/keymap.c +++ b/keyboards/atreus62/keymaps/atreus52/keymap.c @@ -8,13 +8,16 @@ #define BDO 4 #define RESETL 5 +#define KC_RAIS MO(RAISE) +#define KC_LOWR MO(LOWER) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [DVORAK] = LAYOUT_kc( NO, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, NO, \ NO, QUOT, COMM, DOT, P, Y, F, G, C, R, L, NO, \ NO, A, O, E, U, I, D, H, T, N, S, NO, \ NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, \ - NO, FN2, LALT, LCTL, FN1, LSFT, BSPC, ENT, SPC, FN0, LGUI, LEFT, RGHT, NO + NO, FN2, LALT, LCTL, LOWR, LSFT, BSPC, ENT, SPC, RAIS, LGUI, LEFT, RGHT, NO ), [QWERTY] = LAYOUT_kc( @@ -22,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { NO, Q, W, E, R, T, Y, U, I, O, P, NO, \ NO, A, S, D, F, G, H, J, K, L, SCLN, NO, \ NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, \ - NO, FN2, LALT, LCTL, FN1, LSFT, BSPC, ENT, SPC, FN0, LGUI, LEFT, RGHT, NO + NO, FN2, LALT, LCTL, LOWR, LSFT, BSPC, ENT, SPC, RAIS, LGUI, LEFT, RGHT, NO ), [RAISE] = LAYOUT_kc( @@ -59,8 +62,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(RAISE), // Raise layer - [1] = ACTION_LAYER_MOMENTARY(LOWER), // Lower layer [2] = ACTION_LAYER_TOGGLE(BDO), // BDO layer [3] = ACTION_LAYER_TOGGLE(RESETL) // RESET layer }; diff --git a/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c b/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c index f76b7e02c812..d9a81b195af0 100644 --- a/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c +++ b/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/keymap.c @@ -23,12 +23,10 @@ enum custom_macros { const uint16_t PROGMEM fn_actions[] = { [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Space, - [1] = ACTION_LAYER_MOMENTARY(_MOUSE) //Hold for momentary MOUSE - }; #define SPC_LW FUNC(0) -#define MSE FUNC(1) +#define MSE MO(_MOUSE) #define PIPE M(R_PIPE) #define POINT M(R_POINT) diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c index 7db7e5d39ee1..aad2d643cd93 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c +++ b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, SE_AO, SE_AE, SE_OE, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \ KC_LCTRL,KC_A, KC_O, KC_E, KC_U, KC_I, KC_H, KC_D, KC_T, KC_N, KC_S, SE_MINS, KC_ENT, \ KC_LSFT, SE_LTGT,KC_DOT, KC_Q, KC_J, KC_K, KC_B, KC_X, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \ - KC_FN0, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN1, KC_LEFT,KC_DOWN,KC_RGHT), + MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN1, KC_LEFT,KC_DOWN,KC_RGHT), /* Layer 1: Standard ISO layer */ [KM_QWERTY] = LAYOUT( \ 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, \ @@ -56,7 +56,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, SE_AO, SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \ KC_LCTRL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_OE, SE_AE, KC_ENT, \ KC_LSFT, SE_LTGT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, SE_MINS, KC_RSFT, KC_UP, \ - KC_FN0, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN1, KC_LEFT,KC_DOWN,KC_RGHT), + MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN1, KC_LEFT,KC_DOWN,KC_RGHT), /* Layer 2: Media layer */ [KM_MEDIA] = LAYOUT( \ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_WAKE,KC_PWR, KC_SLEP, \ @@ -76,7 +76,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(KM_MEDIA), [1] = ACTION_LAYER_TOGGLE(KM_QWERTY) }; diff --git a/keyboards/dz60/keymaps/LEdiodes/keymap.c b/keyboards/dz60/keymaps/LEdiodes/keymap.c index c6a9214a0136..3ac0047a3198 100644 --- a/keyboards/dz60/keymaps/LEdiodes/keymap.c +++ b/keyboards/dz60/keymaps/LEdiodes/keymap.c @@ -100,11 +100,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; - // Macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/gh60/revc/keymaps/maxr1998/keymap.c b/keyboards/gh60/revc/keymaps/maxr1998/keymap.c index eff94ff6574e..4a1ad54b41b2 100644 --- a/keyboards/gh60/revc/keymaps/maxr1998/keymap.c +++ b/keyboards/gh60/revc/keymaps/maxr1998/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NO, \ KC_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HOME, KC_ENT, \ KC_LSFT, KC_BSLS, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT,\ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, F(0), KC_LEFT, KC_DOWN, KC_RGHT), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), /* 1: fn */ LAYOUT( 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_DEL, \ @@ -48,10 +48,6 @@ 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), }; -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1) // to Fn overlay -}; - void matrix_scan_user(void) { } @@ -80,4 +76,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } return true; -} \ No newline at end of file +} diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c index 649cbec38959..2f3f10f5c730 100644 --- a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c +++ b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c @@ -25,7 +25,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_LBRC,KC_RBRC,KC_BSLS, \ F(2),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_RSFT, \ - KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_NO,KC_RALT,F(0),KC_APP,KC_RCTL), + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_NO,KC_RALT,MO(2),KC_APP,KC_RCTL), /* * Locking arrow keys to WASD for when you need dedicated arrow keys @@ -106,7 +106,6 @@ enum function_id { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(2), // Momentary Fn overlay [1] = ACTION_LAYER_TOGGLE(1), // Toggle Arrow Layer overlay [2] = ACTION_LAYER_TAP_KEY(2, KC_CAPS), // Tap to toggle caps lock and hold to activate function layer [3] = ACTION_LAYER_TOGGLE(3), // Toggle Underglow Layer overlay diff --git a/keyboards/gh60/revc/keymaps/sethbc/keymap.c b/keyboards/gh60/revc/keymaps/sethbc/keymap.c index 6c2c00ec2797..f2802827a198 100644 --- a/keyboards/gh60/revc/keymaps/sethbc/keymap.c +++ b/keyboards/gh60/revc/keymaps/sethbc/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_BSLS,KC_GRV,\ 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_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,F(1),\ + KC_LSFT,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,MO(1),\ KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_APP,KC_RCTL), /* 1: fn */ LAYOUT_60_ansi_split_bs_rshift( @@ -26,7 +26,6 @@ enum function_id { const uint16_t PROGMEM fn_actions[] = { [0] = ACTION_FUNCTION(SHIFT_ESC), - [1] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) diff --git a/keyboards/hhkb/keymaps/shela/keymap.c b/keyboards/hhkb/keymaps/shela/keymap.c index 5f3881539a41..dae85ad9ca5a 100644 --- a/keyboards/hhkb/keymaps/shela/keymap.c +++ b/keyboards/hhkb/keymaps/shela/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT(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, + 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, MO(HHKB), KC_LALT, KC_LGUI, KC_FN2, KC_RGUI, KC_RALT), /* Layer 1: Pseudo US Layout Layer @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT(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, - KC_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_LSFT, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_RSFT, MO(HHKB), KC_LGUI, KC_FN3, KC_FN2, KC_FN4, KC_RGUI), /* Layer 2: Dvorak Layer @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT(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_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(HHKB), KC_LALT, KC_LGUI, KC_FN2, KC_RGUI, KC_RALT), /* Layer 3: Mouse layer @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT(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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, KC_NO, KC_TRNS, MO(HHKB), KC_TRNS, KC_TRNS, KC_BTN1, KC_TRNS, KC_TRNS), /* Layer 4: Tenkey layer @@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT(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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_1, KC_KP_2, KC_KP_3, KC_PPLS, MO(HHKB), KC_TRNS, KC_TRNS, KC_FN2, KC_KP_0, KC_PDOT), /* Layer 5: HHKB mode (HHKB Fn) @@ -182,7 +182,6 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) * 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), diff --git a/keyboards/jd45/keymaps/justin/keymap.c b/keyboards/jd45/keymaps/justin/keymap.c index 4590374e9b36..91cc760c6a98 100644 --- a/keyboards/jd45/keymaps/justin/keymap.c +++ b/keyboards/jd45/keymaps/justin/keymap.c @@ -1,11 +1,15 @@ #include QMK_KEYBOARD_H +#define KC_MO1 MO(1) +#define KC_MO2 MO(2) +#define KC_MO3 MO(3) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_kc( ESC, Q, W, F, P, G, J, L, U, Y, SCLN, QUOT, BSPC, FN8, A, R, S, T, D, H, N, E, I, O, ENT, LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, FN6, - FN4, LGUI, FN7, FN2, FN1, SPC, FN5, RALT, FN3, FN0), + FN4, LGUI, FN7, MO2, MO1, SPC, FN5, RALT, MO3, FN0), [1] = LAYOUT_kc( TRNS, FN10, FN11, FN12, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, DEL, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGUP, LEFT, RGHT, @@ -37,9 +41,6 @@ enum macro_id const uint16_t PROGMEM fn_actions[] = { [0] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_MINS), - [1] = ACTION_LAYER_MOMENTARY(1), // FN1 - [2] = ACTION_LAYER_MOMENTARY(2), // FN2 - [3] = ACTION_LAYER_MOMENTARY(3), // FN3 [4] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_GRV), [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_RGUI), [6] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_CAPS), diff --git a/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c b/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c index c0c1760cd16c..ba12e1bf53b3 100644 --- a/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c @@ -47,13 +47,11 @@ enum { const uint16_t PROGMEM fn_actions[] = { [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Space, [1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_ENT), //Hold for momentary Mouse layer, Tap for Enter, - [2] = ACTION_LAYER_MOMENTARY(_FUNCTION), //Hold for momentary Function - [3] = ACTION_LAYER_MOMENTARY(_MOUSE) //Hold for momentary MOUSE }; #define SPC_LW FUNC(0) #define ENT_RS FUNC(1) -#define FNC FUNC(2) -#define MSE FUNC(3) +#define FNC MO(_FUNCTION) +#define MSE MO(_MOUSE) #define PIPE M(R_PIPE) #define POINT M(R_POINT) diff --git a/keyboards/org60/keymaps/boardy/keymap.c b/keyboards/org60/keymaps/boardy/keymap.c index 43994f189f75..b85e47582438 100644 --- a/keyboards/org60/keymaps/boardy/keymap.c +++ b/keyboards/org60/keymaps/boardy/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //--------------------------------------------------------------------------------------------------------------------------------------| // | | | | |░░░░░░| | | | // | | | | |░░░░░░| | | | - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, F(0), KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FUNCTION),KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT), //--------------------------------------------------------------------------------------------------------------------------------------' @@ -103,19 +103,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //--------------------------------------------------------------------------------------------------------------------------------------| // | | | | |░░░░░░| | | | // | | | | |░░░░░░| | | | - KC_LCTL, KC_LGUI, KC_LALT, KC_0, F(0), KC_NO, KC_MUTE, KC_VOLD, KC_MPLY), + KC_LCTL, KC_LGUI, KC_LALT, KC_0, MO(_FUNCTION),KC_NO, KC_MUTE, KC_VOLD, KC_MPLY), //--------------------------------------------------------------------------------------------------------------------------------------' }; - -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(_FUNCTION), // to Function overlay -}; - - // Loop void matrix_scan_user(void) { // Empty -}; \ No newline at end of file +}; diff --git a/keyboards/planck/keymaps/angerthosenear/keymap.c b/keyboards/planck/keymaps/angerthosenear/keymap.c index aa75a67715e8..f22bb1f622aa 100644 --- a/keyboards/planck/keymaps/angerthosenear/keymap.c +++ b/keyboards/planck/keymaps/angerthosenear/keymap.c @@ -5,34 +5,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {KC_TAB, 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_QUOT}, - {KC_LCTL, KC_LGUI, KC_LALT, BL_STEP, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_LCTL, KC_LGUI, KC_LALT, BL_STEP, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} // Space is repeated to accommodate for both spacebar wiring positions }, [1] = { /* WASD + NumPad */ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PMNS, KC_TRNS}, {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PPLS, KC_TRNS}, {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PENT, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_SPC, KC_P0, FUNC(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_SPC, KC_P0, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} }, [2] = { /* RAISE */ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS}, {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, MO(2), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [3] = { /* LOWER */ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_DEL}, {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)}, {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END} } }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), diff --git a/keyboards/planck/keymaps/austin/keymap.c b/keyboards/planck/keymaps/austin/keymap.c index 40f808654e09..23dc2d4150fb 100644 --- a/keyboards/planck/keymaps/austin/keymap.c +++ b/keyboards/planck/keymaps/austin/keymap.c @@ -5,35 +5,32 @@ 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}, - {BL_STEP, KC_LGUI, KC_LALT, KC_LCTL, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {BL_STEP, KC_LGUI, KC_LALT, KC_LCTL, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} // Space is repeated to accommadate for both spacebar wiring positions }, [1] = { /* 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}, - {KC_FN3, KC_LGUI, KC_LALT, KC_LCTL, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_FN3, KC_LGUI, KC_LALT, KC_LCTL, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} }, [2] = { /* 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_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [3] = { /* LOWER */ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC}, {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)}, {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} } }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), -}; \ No newline at end of file +}; diff --git a/keyboards/planck/keymaps/charlie/keymap.c b/keyboards/planck/keymaps/charlie/keymap.c index 966c60d20dbe..d5e17d7f9c20 100644 --- a/keyboards/planck/keymaps/charlie/keymap.c +++ b/keyboards/planck/keymaps/charlie/keymap.c @@ -11,20 +11,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_DELETE, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, FUNC(1)}, {KC_O, KC_G, KC_S, KC_U, KC_T, FUNC(27), KC_F21, KC_F10, KC_F11, KC_F7, KC_F8, KC_F9}, {KC_TAB, FUNC(4), FUNC(5), FUNC(6), KC_F1, FUNC(7), KC_F18, KC_F19, KC_F23, KC_F20, KC_F22, FUNC(9)}, - {KC_COMM, KC_DOT, KC_R, FUNC(11), FUNC(3), KC_SPC, FUNC(12), KC_F2, FUNC(8), KC_F3, KC_F14} + {KC_COMM, KC_DOT, KC_R, FUNC(11), MO(2), KC_SPC, FUNC(12), KC_F2, FUNC(8), KC_F3, KC_F14} }, [2] = { /* 2: FUNC(3 PHOTOSHOP */ {KC_ESC, FUNC(25), FUNC(26), 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, FUNC(19), FUNC(20), FUNC(21)}, {KC_C, KC_NO, FUNC(22), FUNC(5), KC_NO, FUNC(23), KC_NO, KC_NO, KC_NO, KC_NO, FUNC(13), KC_NO}, - {FUNC(14), FUNC(15), FUNC(16), FUNC(17), FUNC(3), KC_SPC, FUNC(18), KC_NO, KC_NO, KC_F24, KC_NO} + {FUNC(14), FUNC(15), FUNC(16), FUNC(17), MO(2), KC_SPC, FUNC(18), KC_NO, KC_NO, KC_F24, KC_NO} } }; const uint16_t PROGMEM fn_actions[] = { [1] = ACTION_DEFAULT_LAYER_SET(0), // set Qwerty layout [2] = ACTION_DEFAULT_LAYER_SET(1), // set Photoshop presets - [3] = ACTION_LAYER_MOMENTARY(2), // Photoshop function layer [4] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_F9), // photo folder AHK [5] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_I), // select inverse diff --git a/keyboards/planck/keymaps/daniel/keymap.c b/keyboards/planck/keymaps/daniel/keymap.c index 3054d7974bcd..ae47b9ba3d27 100644 --- a/keyboards/planck/keymaps/daniel/keymap.c +++ b/keyboards/planck/keymaps/daniel/keymap.c @@ -5,33 +5,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT}, - {FUNC(3), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} // Space is repeated to accommadate for both spacebar wiring positions }, [1] = { /* RAISE */ {KC_GRV, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_EQL}, {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_MINS, S(KC_MINS), KC_BSLS, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [2] = { /* LOWER */ {S(KC_GRV), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, S(KC_EQL)}, {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_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_ENT}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [3] = { /* Qwerty */ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL}, {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_TRNS, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} // Space is repeated to accommadate for both spacebar wiring positions } }; - - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(2), // to LOWER - [3] = ACTION_LAYER_MOMENTARY(3) // to LOWER -}; diff --git a/keyboards/planck/keymaps/david/keymap.c b/keyboards/planck/keymaps/david/keymap.c index d8a46aa833d9..bb0abaab7c1c 100644 --- a/keyboards/planck/keymaps/david/keymap.c +++ b/keyboards/planck/keymaps/david/keymap.c @@ -5,33 +5,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {KC_A, KC_S, KC_D, KC_F, KC_G, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, - {M(10), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {M(10), KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} // Space is repeated to accommadate for both spacebar wiring positions }, [1] = { /* 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}, - {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} }, [2] = { /* 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_TRNS, FUNC(3), FUNC(4), RESET, M(0), M(1), M(2), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, {KC_TRNS, KC_F11, KC_F12, M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [3] = { /* LOWER */ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC}, {KC_TRNS, FUNC(3), FUNC(4), RESET, M(0), M(1), M(2), S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)}, {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} } }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), diff --git a/keyboards/planck/keymaps/dzobert/keymap.c b/keyboards/planck/keymaps/dzobert/keymap.c index 365649ed8718..3cd8731b060d 100644 --- a/keyboards/planck/keymaps/dzobert/keymap.c +++ b/keyboards/planck/keymaps/dzobert/keymap.c @@ -5,33 +5,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TAB}, {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_BSPC}, {KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, - {KC_FN4, KC_RSFT, KC_LGUI, KC_LSFT, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_FN4, KC_RSFT, KC_LGUI, KC_LSFT, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} // Space is repeated to accommadate for both spacebar wiring positions }, [1] = { /* Colemak */ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TAB}, {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_BSPC}, {KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, - {KC_FN3, KC_RSFT, KC_LGUI, KC_LSFT, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_FN3, KC_RSFT, KC_LGUI, KC_LSFT, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} }, [2] = { /* RAISE */ {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_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_DEL}, {KC_TRNS, KC_GRV, KC_MINS, KC_EQL, KC_QUOT, S(KC_QUOT), S(KC_LBRC), S(KC_RBRC), KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_HOME, KC_PGUP, KC_PGDN, KC_END} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_HOME, KC_PGUP, KC_PGDN, KC_END} }, [3] = { /* LOWER */ {KC_POWER,KC_PSCR, KC_SLCK, KC_PAUSE, KC_NLCK, KC_EXECUTE, KC_MENU, KC_APP, KC_7, KC_8, KC_9, KC_KP_SLASH}, {KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_CAPS, KC_CANCEL, KC_UNDO, KC_AGAIN, KC_4, KC_5, KC_6, KC_KP_ASTERISK}, {KC_TRNS, KC_INSERT,KC_CUT, KC_COPY, KC_PASTE, KC_BSLS, KC_9, KC_0, KC_1, KC_2, KC_3, KC_KP_MINUS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS} } }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), diff --git a/keyboards/planck/keymaps/joe/keymap.c b/keyboards/planck/keymaps/joe/keymap.c index 023e1a120111..ff17fa23662d 100644 --- a/keyboards/planck/keymaps/joe/keymap.c +++ b/keyboards/planck/keymaps/joe/keymap.c @@ -6,50 +6,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {F(3), KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS}, {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT }, {F(15), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT}, - {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT} + {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, MO(4),KC_SPC, KC_SPC, MO(5),KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT} }, [1] = { /* Joe soft Colemak */ {F(3), CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_MINS}, {KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_ENT }, {F(15), CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT}, - {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT} + {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, MO(4),KC_SPC, KC_SPC, MO(5),KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT} }, [2] = { /* Joe NUMPAD */ {F(3), KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, LSFT(KC_9), LSFT(KC_0), KC_PSLS, KC_P7, KC_P8, KC_P9 }, {KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, LSFT(KC_5), KC_PEQL, KC_PAST, KC_P4, KC_P5, KC_P6 }, {F(15), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PCMM, KC_PMNS, KC_P1, KC_P2, KC_P3 }, - {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_TRNS, KC_TRNS, F(2), KC_PPLS, KC_P0, KC_PDOT, KC_PENT} + {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, MO(4), KC_TRNS, KC_TRNS, MO(5), KC_PPLS, KC_P0, KC_PDOT, KC_PENT} }, [3] = { /* Joe 1337 haxOr5*/ {F(3), KC_Q, KC_W, KC_F, KC_P, KC_6, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS}, {KC_BSPC, KC_4, KC_R, KC_5, KC_7, KC_D, KC_H, KC_N, KC_3, KC_1, KC_0, KC_ENT }, {F(15), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_QUOT}, - {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, F(1), KC_SPC, KC_SPC, F(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT} + {KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, MO(4),KC_SPC, KC_SPC, MO(5),KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT} }, [4] = { /* Joe LOWER fn1 */ {KC_GRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(3), M(2), M(1), M(0) }, {KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS}, {KC_BSLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_PGUP, KC_EQL }, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(1), KC_TRNS, KC_TRNS, F(2), KC_NO, KC_HOME, KC_PGDN, KC_END } + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(4), KC_TRNS, KC_TRNS, MO(5), KC_NO, KC_HOME, KC_PGDN, KC_END } }, [5] = { /* Joe UPPER fn2 */ {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_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, KC_WH_U, KC_BTN4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO }, {KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_L, KC_WH_D, KC_WH_R, KC_NO, KC_NO, LCTL(KC_PGUP), LCTL(LALT(KC_UP)), LCTL(KC_PGDN) }, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(1), KC_NO, KC_NO, F(2), KC_NO, LCTL(LALT(KC_LEFT)), LCTL(LALT(KC_DOWN)), LCTL(LALT(KC_RGHT))} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(4), KC_NO, KC_NO, MO(5), KC_NO, LCTL(LALT(KC_LEFT)), LCTL(LALT(KC_DOWN)), LCTL(LALT(KC_RGHT))} }, [6] = { /* Joe SPECIAL fn3 */ {KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, {KC_NO, KC_MPLY, KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET }, {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(6), F(7), F(8), F(9), F(1), KC_TRNS, KC_TRNS, F(2), KC_POWER, KC_WAKE, KC_SLEP, LCTL(LALT(KC_L))} + {F(6), F(7), F(8), F(9), MO(4), KC_TRNS, KC_TRNS, MO(5), KC_POWER, KC_WAKE, KC_SLEP, LCTL(LALT(KC_L))} } }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(4), // fn1 - [2] = ACTION_LAYER_MOMENTARY(5), // fn2 - /* ESC on tap, fn3 on hold */ [3] = ACTION_LAYER_TAP_KEY(6, KC_ESC), diff --git a/keyboards/planck/keymaps/kyle/keymap.c b/keyboards/planck/keymaps/kyle/keymap.c index f113d0e036c0..eee509013995 100644 --- a/keyboards/planck/keymaps/kyle/keymap.c +++ b/keyboards/planck/keymaps/kyle/keymap.c @@ -5,33 +5,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, - {KC_RCTL, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_RCTL, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} // Space is repeated to accommadate for both spacebar wiring positions }, [1] = { /* Colemak */ {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, {KC_TAB, 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}, - {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} }, [2] = { /* 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_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [3] = { /* LOWER */ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC}, {KC_TRNS, FUNC(3), FUNC(4), LSFT(RSFT(KC_PAUSE)), LSFT(RSFT(KC_D)), KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)}, {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS}, - {BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} } }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), diff --git a/keyboards/planck/keymaps/leo/keymap.c b/keyboards/planck/keymaps/leo/keymap.c index 25a5e1579daf..d45f87a5d232 100644 --- a/keyboards/planck/keymaps/leo/keymap.c +++ b/keyboards/planck/keymaps/leo/keymap.c @@ -5,7 +5,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_ESC, KC_LBRC, KC_QUOT, KC_SCLN, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, {KC_TAB, 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_DOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_COMM}, - {KC_LCTL, KC_LALT, KC_LGUI, FUNC(3), FUNC(2), KC_SPC, KC_SPC, FUNC(1), FUNC(3), KC_RGUI, KC_RALT, KC_RCTL} + {KC_LCTL, KC_LALT, KC_LGUI, MO(4), MO(3), KC_SPC, KC_SPC, MO(2), MO(4), KC_RGUI, KC_RALT, KC_RCTL} }, [2] = { /* RAISE */ {RALT(KC_RBRC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, S(KC_RBRC)}, @@ -26,10 +26,3 @@ 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} } }; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - [3] = ACTION_LAYER_MOMENTARY(4), // to META - -}; \ No newline at end of file diff --git a/keyboards/planck/keymaps/lucas/keymap.c b/keyboards/planck/keymaps/lucas/keymap.c index 491cd1d07d54..96393bc35d3a 100644 --- a/keyboards/planck/keymaps/lucas/keymap.c +++ b/keyboards/planck/keymaps/lucas/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Z, DE_SCLN, DE_MINS}, {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, DE_QUOT}, {M(0), KC_Y, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, DE_COMM, DE_DOT, DE_SLSH, KC_ENT}, - {KC_LCTL, KC_LGUI, KC_TAB, KC_LALT, F(2), F(3), F(3), F(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_LCTL, KC_LGUI, KC_TAB, KC_LALT, MO(3),F(3), F(3), MO(2),KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} }, [1] = { /* Symbols * ,-----------------------------------------------------------------------. @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24}, {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_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_PPLS, KC_NO, KC_NO, KC_NO, RESET, KC_NO}, - {KC_NO, BL_TOGG, BL_DEC, BL_INC, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_NO, BL_TOGG, BL_DEC, BL_INC, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY} }, [5] = { /* Gaming * ,-----------------------------------------------------------------------. @@ -131,8 +131,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER [3] = ACTION_LAYER_TAP_KEY(4,KC_SPC), // to Function [4] = ACTION_LAYER_TOGGLE(5), // toggle Gaming [5] = ACTION_MODS_TAP_KEY(KC_LSFT, KC_CAPS), //Shift on press, Caps on tap diff --git a/keyboards/planck/keymaps/max/keymap.c b/keyboards/planck/keymaps/max/keymap.c index a93b1f47d134..a80d677c64df 100644 --- a/keyboards/planck/keymaps/max/keymap.c +++ b/keyboards/planck/keymaps/max/keymap.c @@ -5,34 +5,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {KC_TAB, 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_QUOT}, - {KC_LCTL, BL_STEP, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_LCTL, BL_STEP, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} // Space is repeated to accommadate for both spacebar wiring positions }, [1] = { /* Colemak */ {KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, {KC_TAB, 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_QUOT}, - {KC_LCTL, BL_STEP, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {KC_LCTL, BL_STEP, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} }, [2] = { /* 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_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TRNS}, {KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_BSLS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, [3] = { /* LOWER */ {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC}, {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), KC_TRNS}, {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, S(KC_BSLS)}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} } }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), -}; \ No newline at end of file +}; diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_brett.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_brett.c index 3ebd82af4f54..cdebcd1433cd 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_brett.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_brett.c @@ -1,26 +1,26 @@ #include "keymap.h" +#define KC_MO1 MO(1) +#define KC_MO2 MO(2) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, LCTL, A, S, D, F, G, H, J, K, L, SCLN, ENT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT, - TAB, LGUI, RSFT, LALT, FN2, SPC, FN1, LEFT, DOWN, UP, RGHT), + TAB, LGUI, RSFT, LALT, MO2, SPC, MO1, LEFT, DOWN, UP, RGHT), [1] = KEYMAP( /* RAISE */ GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, DEL, TRNS, F1, F2, F3, F4, F5, F6, 4, 5, 6, QUOT, TRNS, TRNS, F7, F8, F9, F10, F11, F12, 1, 2, 3, TRNS, PGUP, - MPRV, MNXT, TRNS, MUTE, TRNS, TRNS, FN1, 0, 0, TRNS, PGDN), + MPRV, MNXT, TRNS, MUTE, TRNS, TRNS, MO1, 0, 0, TRNS, PGDN), [2] = KEYMAP( /* LOWER */ TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MINS, TRNS, TRNS, TRNS, PAUSE, TRNS, TRNS, TRNS, TRNS, LBRC, RBRC, BSLS, EQL, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, - MPLY, MSTP, VOLU, VOLD, FN2, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), + MPLY, MSTP, VOLU, VOLD, MO2, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay - [2] = ACTION_LAYER_MOMENTARY(2), // to Fn overlay - [10] = ACTION_MODS_KEY(MOD_LSFT, KC_1), [11] = ACTION_MODS_KEY(MOD_LSFT, KC_2), [12] = ACTION_MODS_KEY(MOD_LSFT, KC_3), diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_dotcom.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_dotcom.c index d4ec987abdd2..5a85a6086ce0 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_dotcom.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_dotcom.c @@ -1,20 +1,20 @@ #include "keymap.h" +#define KC_MO1 MO(1) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, - FN1, A, S, D, F, G, H, J, K, L, SCLN, ENT, + MO1, A, S, D, F, G, H, J, K, L, SCLN, ENT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, LBRC, LCTL, BSLS, QUOT, LALT, FN22, SPC, LEFT, UP, DOWN, RGHT, RBRC), [1] = KEYMAP( GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, DEL, TRNS, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, TRNS, TRNS, TRNS, TRNS, FN18, FN19, FN22, EQL, MINS, FN20, TRNS, TRNS, TRNS, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN1, TRNS, VOLD, VOLU, TRNS), + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MO1, TRNS, VOLD, VOLU, TRNS), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay - [10] = ACTION_MODS_KEY(MOD_LSFT, KC_1), [11] = ACTION_MODS_KEY(MOD_LSFT, KC_2), [12] = ACTION_MODS_KEY(MOD_LSFT, KC_3), diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_jack.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_jack.c index 4237949d5431..14db7feaa069 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_jack.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_jack.c @@ -1,31 +1,31 @@ #include "keymap.h" +#define KC_MO2 MO(2) +#define KC_MO3 MO(3) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( /* Jack */ TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC, ESC, A, S, D, F, G, H, J, K, L, SCLN, QUOT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, - RSFT, LCTL, LALT, LGUI, FN2, SPC, FN1, LEFT, DOWN, UP, RGHT), + RSFT, LCTL, LALT, LGUI, MO3, SPC, MO2, LEFT, DOWN, UP, RGHT), [1] = KEYMAP( /* Jack colemak */ TAB, Q, W, F, P, G, J, L, U, Y, SCLN, BSPC, ESC, A, R, S, T, D, H, N, E, I, O, QUOT, LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, ENT, - FN3, LCTL, LALT, LGUI, FN2, SPC, FN1, LEFT, DOWN, UP, RGHT), + FN3, LCTL, LALT, LGUI, MO3, SPC, MO2, LEFT, DOWN, UP, RGHT), [2] = KEYMAP( /* Jack RAISE */ GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, TRNS, FN3, FN4, PAUSE, TRNS, TRNS, TRNS, MINS, EQL, LBRC, RBRC, BSLS, TRNS, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN1, MNXT, VOLD, VOLU, MPLY), + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MO2, MNXT, VOLD, VOLU, MPLY), [3] = KEYMAP( /* Jack LOWER */ FN22, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, BSPC, TRNS, FN3, FN4, PAUSE, TRNS, TRNS, TRNS, FN20, FN21, FN23, FN24, FN28, TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, TRNS, - TRNS, TRNS, TRNS, TRNS, FN2, TRNS, TRNS, MNXT, VOLD, VOLU, MPLY), + TRNS, TRNS, TRNS, TRNS, MO3, TRNS, TRNS, MNXT, VOLD, VOLU, MPLY), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to Fn overlay - [2] = ACTION_LAYER_MOMENTARY(3), // to Fn overlay - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_joe.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_joe.c index b8251c8573d3..efd188a8ee81 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_joe.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_joe.c @@ -1,26 +1,30 @@ #include "keymap.h" +#define KC_MO2 MO(2) +#define KC_MO3 MO(3) +#define KC_MO4 MO(4) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( /* Joe qwerty */ ESC, Q, W, E, R, T, Y, U, I, O, P, MINS, BSPC, A, S, D, F, G, H, J, K, L, SCLN, ENTER, FN7, Z, X, C, V, B, N, M, COMM, DOT, SLSH, QUOT, - LCTL, LGUI, LALT, LSFT, FN1, SPC, FN0, LEFT, UP, DOWN, RGHT), + LCTL, LGUI, LALT, LSFT, MO3, SPC, MO2, LEFT, UP, DOWN, RGHT), [1] = KEYMAP( /* Joe colemak */ ESC, Q, W, F, P, G, J, L, U, Y, SCLN, MINS, BSPC, A, R, S, T, D, H, N, E, I, O, ENTER, FN7, Z, X, C, V, B, K, M, COMM, DOT, SLSH, QUOT, - LCTL, LGUI, LALT, LSFT, FN1, SPC, FN0, LEFT, UP, DOWN, RGHT), + LCTL, LGUI, LALT, LSFT, MO3, SPC, MO2, LEFT, UP, DOWN, RGHT), [2] = KEYMAP( /* Joe UPPER */ F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MENU, CAPS, INS, PSCR, TRNS, FN5, FN6, - TRNS, TRNS, TRNS, TRNS, FN2, TRNS, FN0, FN26, FN27, FN28, FN29), + TRNS, TRNS, TRNS, TRNS, MO4, TRNS, MO2, FN26, FN27, FN28, FN29), [3] = KEYMAP( /* Joe LOWER */ GRV, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN8, FN9, FN30, BSPC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, TRNS, BSLS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, RBRC, TRNS, EQL, - TRNS, TRNS, TRNS, TRNS, FN1, TRNS, FN2, HOME, PGUP, PGDN, END), + TRNS, TRNS, TRNS, TRNS, MO3, TRNS, MO4, HOME, PGUP, PGDN, END), [4] = KEYMAP( /* Joe LOWER + UPPER */ FN3, FN4, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, SLEP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, @@ -35,10 +39,6 @@ enum macro_id { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(2), // to Fn overlay - [1] = ACTION_LAYER_MOMENTARY(3), // to Fn overlay - [2] = ACTION_LAYER_MOMENTARY(4), // to Fn overlay - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_matthew.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_matthew.c index 196b2d777329..fe0dfa619cd2 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_matthew.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_matthew.c @@ -22,12 +22,15 @@ #include "keymap.h" +#define KC_MO1 MO(1) +#define KC_MO2 MO(2) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: dvorak */ [0] = KEYMAP_GRID( ESC, SCLN, COMM, DOT, P, Y, F, G, C, R, L, BSPC, \ GRV, A, O, E, U, I, D, H, T, N, S, MINS, \ TAB, QUOT, Q, J, K, X, B, M, W, V, Z, ENT, \ - LCTL, LGUI, LALT, RALT, FN1, LSFT, SPC, FN2, LEFT, DOWN, UP, RGHT), + LCTL, LGUI, LALT, RALT, MO1, LSFT, SPC, MO2, LEFT, DOWN, UP, RGHT), /* 1: lower (FN1) */ [1] = KEYMAP_GRID( F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, \ @@ -44,9 +47,6 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), // lower Fn layer - [2] = ACTION_LAYER_MOMENTARY(2), // raise Fn layer - // lower row1 [17] = ACTION_MODS_KEY(MOD_LSFT, KC_5), // % [18] = ACTION_MODS_KEY(MOD_LSFT, KC_SLASH), // ? diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_nathan.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_nathan.c index f0be4b03067a..7cc5e7f0ac81 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_nathan.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_nathan.c @@ -3,6 +3,9 @@ #include "keymap.h" +#define KC_MO1 MO(1) +#define KC_MO2 MO(2) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: main layer * ,-----------------------------------------------------------------------. @@ -19,7 +22,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC, LCTL, A, S, D, F, G, H, J, K, L, SCLN, ENT, RSFT, Z, X, C, V, B, N, M, LBRC, FN10, FN11, FN12, - LGUI, BSLS, SLSH, LALT, FN0, SPC, SPC, FN1, LEFT, DOWN, UP, RGHT), + LGUI, BSLS, SLSH, LALT, MO1, SPC, SPC, MO2, LEFT, DOWN, UP, RGHT), /* 1: fn left/lower layer * The top row are Visual Studio combos: @@ -73,8 +76,6 @@ enum macro_id { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // left/lower layer - [1] = ACTION_LAYER_MOMENTARY(2), // right/raise layer // Program macros [2] = ACTION_MACRO(M_P0), [3] = ACTION_MACRO(M_P1), diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_paul.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_paul.c index 51d45be75b99..829c047be6f1 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_paul.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_paul.c @@ -1,32 +1,32 @@ #include "keymap.h" +#define KC_MO1 MO(1) +#define KC_MO2 MO(2) +#define KC_MO3 MO(3) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( /* Paul */ TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC, - FN1, A, S, D, F, G, H, J, K, L, SCLN, QUOT, + MO1, A, S, D, F, G, H, J, K, L, SCLN, QUOT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, - ESC, LCTL, LALT, LGUI, FN2, SPC, FN3, LEFT, DOWN, UP, RGHT), + ESC, LCTL, LALT, LGUI, MO2, SPC, MO3, LEFT, DOWN, UP, RGHT), [1] = KEYMAP( /* Paul FN */ TRNS, TRNS, TRNS, FN8, FN9, TRNS, TRNS, TRNS, TRNS, MUTE, VOLD, VOLU, - FN1, TRNS, TRNS, HOME, END, TRNS, TRNS, TRNS, TRNS, MPRV, MPLY, MNXT, + MO1, TRNS, TRNS, HOME, END, TRNS, TRNS, TRNS, TRNS, MPRV, MPLY, MNXT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LEFT, DOWN, RGHT), [2] = KEYMAP( /* Paul LOWER */ FN22, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, BSPC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN20, FN21, FN23, FN24, FN28, TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, TRNS, - TRNS, TRNS, TRNS, TRNS, FN2, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), + TRNS, TRNS, TRNS, TRNS, MO2, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), [3] = KEYMAP( /* Paul RAISE */ GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MINS, EQL, LBRC, RBRC, BSLS, TRNS, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN3, TRNS, TRNS, TRNS, TRNS), + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MO3, TRNS, TRNS, TRNS, TRNS), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), // to Fn1 overlay (FN) - [2] = ACTION_LAYER_MOMENTARY(2), // to Fn2 overlay (LOWER) - [3] = ACTION_LAYER_MOMENTARY(3), // to Fn3 overlay (RAISE) - [8] = ACTION_MODS_KEY(MOD_LSFT, KC_HOME), [9] = ACTION_MODS_KEY(MOD_LSFT, KC_END), [10] = ACTION_MODS_KEY(MOD_LSFT, KC_1), diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_reed.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_reed.c index f721716fde8b..9e6e953e3127 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_reed.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_reed.c @@ -1,5 +1,8 @@ #include "keymap.h" +#define KC_MO2 MO(2) +#define KC_MO3 MO(3) + /* * BUILD: * Simply run the command below in the keyboards/planck directory @@ -23,30 +26,27 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, TAB, A, S, D, F, G, H, J, K, L, SCLN, QUOT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, FN5, - LCTL, CAPS, LALT, LGUI, FN2, FN7, SPC, FN1, LEFT, DOWN, UP, RGHT), + LCTL, CAPS, LALT, LGUI, MO3, FN7, SPC, MO2, LEFT, DOWN, UP, RGHT), [1] = KEYMAP_GRID( /* Reed EXTREME GAMING */ ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, TAB, A, S, D, F, G, H, J, K, L, SCLN, QUOT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, FN5, - LCTL, 1, 2, 3, 4, SPC, FN2, FN1, LEFT, DOWN, UP, RGHT), + LCTL, 1, 2, 3, 4, SPC, MO3, MO2, LEFT, DOWN, UP, RGHT), [2] = KEYMAP_GRID( /* Reed RAISE */ GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, TRNS, FN3, FN4, PAUSE, TRNS, TRNS, TRNS, MINS, EQL, LBRC, RBRC, BSLS, TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN1, MNXT, VOLD, VOLU, MPLY), + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MO2, MNXT, VOLD, VOLU, MPLY), [3] = KEYMAP_GRID( /* Reed LOWER */ TRNS, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, DEL, TRNS, TRNS, INS, HOME, PGUP, TRNS, TRNS, FN20, FN21, FN23, FN24, FN28, TRNS, TRNS, DEL, END, PGDN, F11, F12, F13, TRNS, VOLD, VOLU, TRNS, - TRNS, TRNS, TRNS, TRNS, FN2, TRNS, TRNS, TRNS, MPRV, MUTE, MPLY, MNXT), + TRNS, TRNS, TRNS, TRNS, MO3, TRNS, TRNS, TRNS, MPRV, MUTE, MPLY, MNXT), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to Fn overlay - RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to Fn overlay - LOWER - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), // Actions for the tap/hold modifiers listed above diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c index 27a669e6407a..10a112986e27 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_sean.c @@ -8,6 +8,10 @@ enum planck_layers { _ADJUST }; +#define KC_LOWR MO(_LOWER) +#define KC_RAIS MO(_RAISE) +#define KC_ADJS MO(_ADJUST) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Dvorak @@ -25,7 +29,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QUOT, COMM, DOT, P, Y, SLSH, EQL, F, G, C, R, L, A, O, E, U, I, ESC, BSPC, D, H, T, N, S, SCLN, Q, J, K, X, TAB, ENT, B, M, W, V, Z, - LSFT, LCTL, LALT, LGUI, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT), + LSFT, LCTL, LALT, LGUI, LOWR, SPC, RAIS,LEFT, DOWN, UP, RGHT), /* Lower * ,-----------------------------------------------------------------------------------. @@ -42,7 +46,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { F1, F2, F3, F4, F5, FN26, FN27, F6, F7, F8, F9, F10, 1, 2, 3, 4, 5, LBRC, RBRC, 6, 7, 8, 9, 0, FN23, FN25, GRV,MINS, FN24, INS, DEL, FN19, FN20, FN22, EQL, BSLS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN4, HOME, PGDN, PGUP, END), + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, ADJS,HOME, PGDN, PGUP, END), /* Raise * ,-----------------------------------------------------------------------------------. @@ -59,7 +63,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { F11, F12, F13, F14, F15,MINS, FN24, F16, F17, F18, F19, F20, FN11, FN12, FN13, FN14, FN15, NO, NO, FN16, FN17, FN18, FN19, FN20, PWR, EJCT, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, - CAPS, TRNS, TRNS, TRNS, FN4, TRNS, FN2, NO, NO, NO, NO), + CAPS, TRNS, TRNS, TRNS, ADJS,TRNS, RAIS, NO, NO, NO, NO), /* Adjust (Lower + Raise or SLower + SRaise) * ,-----------------------------------------------------------------------------------. * | | Reset| | | | | | | | | | | @@ -79,10 +83,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(_LOWER), // to Fn overlay LOWER - [2] = ACTION_LAYER_MOMENTARY(_RAISE), // to Fn overlay RAISE [3] = ACTION_DEFAULT_LAYER_SET(_DVRK), - [4] = ACTION_LAYER_MOMENTARY(_ADJUST), // RAISE + LOWER [11] = ACTION_MODS_KEY(MOD_LSFT, KC_1), //! [12] = ACTION_MODS_KEY(MOD_LSFT, KC_2), //@ [13] = ACTION_MODS_KEY(MOD_LSFT, KC_3), //# diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_shane.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_shane.c index 2191758c8c4a..69ce9b8e09fa 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_shane.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_shane.c @@ -3,6 +3,9 @@ #include "action.h" #include "action_util.h" +#define KC_MO6 MO(6) +#define KC_MO8 MO(8) + /* Shane's Planck Layout http://www.keyboard-layout-editor.com/#/layouts/015d9011102619d7695c86ffe57cf441 @@ -12,7 +15,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, E, R, T, Y, U, I, O, P, MINS, LCTL, A, S, D, F, G, H, J, K, L, SCLN, BSPC, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, FN5, - /*ALPHA*/FN3, /*HYPER*/ /*SUPER*/LGUI, /*META*/LALT, LCTL, FN2, FN6, FN1, LEFT, DOWN, UP, RGHT), + /*ALPHA*/FN3, /*HYPER*/ /*SUPER*/LGUI, /*META*/LALT, LCTL, MO8, FN6, MO6, LEFT, DOWN, UP, RGHT), [2] = KEYMAP_AND_SWAP( /* More modifiers */ TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, @@ -72,8 +75,6 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(6), // to fist Fn overlay - [2] = ACTION_LAYER_MOMENTARY(8), // to second Fn overlay [3] = ACTION_LAYER_TOGGLE(2), // toggle more modifiers [4] = ACTION_LAYER_TOGGLE(4), // toggle wasd [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), @@ -95,4 +96,4 @@ const uint16_t PROGMEM fn_actions[] = { [24] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), [25] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), [26] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), -}; \ No newline at end of file +}; diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_simon.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_simon.c index 8058c2e10914..fa948077cec9 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_simon.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_simon.c @@ -1,11 +1,14 @@ #include "keymap.h" +#define KC_MO1 MO(1) +#define KC_MO2 MO(2) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( /* Jack */ ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, TAB, A, S, D, F, G, H, J, K, L, DOT, ENT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SCLN, DEL, - LCTL, ENT, LALT, CAPS, FN2, SPC, FN1, LEFT, DOWN, UP, RGHT), + LCTL, ENT, LALT, CAPS, MO2, SPC, MO1, LEFT, DOWN, UP, RGHT), [1] = KEYMAP( /* Jack RAISE */ TRNS, F1, F2, F3, F4, NO, FN11, FN9, FN12, NO, FN14, TRNS, TRNS, F5, F6, F7, F8, FN16, SLSH, MINS, EQL, LBRC, FN8, TRNS, @@ -18,9 +21,6 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay - [2] = ACTION_LAYER_MOMENTARY(2), // to Fn overlay - [8] = ACTION_MODS_KEY(MOD_LSFT, KC_SLSH), [9] = ACTION_MODS_KEY(MOD_LSFT, KC_QUOT), [10] = ACTION_MODS_KEY(MOD_LSFT, KC_1), diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_tim.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_tim.c index 64d0b7403931..5be56e725696 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_tim.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_tim.c @@ -1,26 +1,26 @@ #include "keymap.h" +#define KC_MO2 MO(2) +#define KC_MO3 MO(3) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, TAB, A, S, D, F, G, H, J, K, L, SCLN, ENT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT, - LCTL, LALT, DEL, LGUI, FN2, SPC, FN1, F2, F5, F9, F12), + LCTL, LALT, DEL, LGUI, MO3, SPC, MO2, F2, F5, F9, F12), [2] = KEYMAP( /* RAISE */ TRNS, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, GRV, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MINS, EQL, LBRC, RBRC, BSLS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, QUOT, FN29, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN1, TRNS, TRNS, TRNS, TRNS), + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MO2, TRNS, TRNS, TRNS, TRNS), [3] = KEYMAP( /* LOWER */ TRNS, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, BSPC, FN22, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN20, FN21, FN23, FN24, FN28, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, QUOT, FN29, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, FN2, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), + TRNS, TRNS, TRNS, TRNS, MO3, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to Fn overlay - [2] = ACTION_LAYER_MOMENTARY(3), // to Fn overlay - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_wilba.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_wilba.c index 22326ebe45b3..5bf06382d788 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_wilba.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_wilba.c @@ -1,31 +1,31 @@ #include "keymap.h" +#define KC_MO2 MO(2) +#define KC_MO3 MO(3) + const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( /* Wilba */ FN27, FN28, FN29, E, R, T, Y, U, I, O, P, BSPC, TAB, A, S, D, F, G, H, J, K, L, SCLN, QUOT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, - LCTL, LGUI, LALT, RSFT, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT), + LCTL, LGUI, LALT, RSFT, MO2, SPC, MO3, LEFT, DOWN, UP, RGHT), [1] = KEYMAP( /* Wilba Alternate */ ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, TAB, A, S, D, F, G, H, J, K, L, SCLN, QUOT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, - LCTL, LGUI, LALT, RSFT, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT), + LCTL, LGUI, LALT, RSFT, MO2, SPC, MO3, LEFT, DOWN, UP, RGHT), [2] = KEYMAP( /* Wilba LOWER */ TRNS, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, TRNS, TRNS, F11, F12, LBRC, RBRC, FN20, EQL, FN23, FN24, MINS, FN21, TRNS, TRNS, BSLS, GRV, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, FN1, TRNS, TRNS, MNXT, VOLD, VOLU, MPLY), + TRNS, TRNS, TRNS, TRNS, MO2, TRNS, TRNS, MNXT, VOLD, VOLU, MPLY), [3] = KEYMAP( /* Wilba RAISE */ TRNS, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, TRNS, TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, TRNS, TRNS, FN25, FN22, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN2, TRNS, TRNS, TRNS, TRNS), + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MO3, TRNS, TRNS, TRNS, TRNS), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // LOWER - [2] = ACTION_LAYER_MOMENTARY(3), // RAISE - [3] = ACTION_DEFAULT_LAYER_SET(0), [4] = ACTION_DEFAULT_LAYER_SET(1), diff --git a/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c b/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c index 7304c80c1053..f7a66b96f58c 100644 --- a/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c +++ b/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c @@ -31,14 +31,13 @@ along with this program. If not, see . #define KC_SPACEFN KC_FN0 #define KC_OSLS KC_FN3 #define KC_GMLK KC_FN1 -#define KC_FUNC KC_FN2 +#define KC_FUNC MO(2) #define MICMUTE RCTL(KC_LCTL) enum function_codes { F_SPACEFN = 0, F_OSLS = 3, F_GMLK = 1, - F_FUNC = 2 }; enum layer_names { @@ -154,7 +153,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM fn_actions[] = { [F_SPACEFN] = ACTION_LAYER_TAP_KEY(2, KC_SPACE), // SpaceFn layout 1 [F_GMLK] = ACTION_LAYER_TOGGLE(1), // Disable SpaceFn and Oneshot Shift - [F_FUNC] = ACTION_LAYER_MOMENTARY(2), // SpaceFn layout 1 [F_OSLS] = ACTION_MODS_ONESHOT(MOD_LSFT) // Oneshot Leftshift }; diff --git a/keyboards/sentraq/s60_x/keymaps/hasu/keymap.c b/keyboards/sentraq/s60_x/keymaps/hasu/keymap.c index 76398697c2aa..077f1c6277b0 100644 --- a/keyboards/sentraq/s60_x/keymaps/hasu/keymap.c +++ b/keyboards/sentraq/s60_x/keymaps/hasu/keymap.c @@ -1,5 +1,9 @@ #include QMK_KEYBOARD_H +#define KC_MO4 MO(4) +#define KC_MO6 MO(6) +#define KC_MO7 MO(7) + /* * Hasu */ @@ -22,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ CAPS, A, S, D, F, G, H, J, K, L, FN2, QUOT, NO, ENT, \ LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, FN1, NO, FN9, NO, \ - LCTL, LGUI, LALT, SPC, RALT, FN3, FN3, FN0), + LCTL, LGUI, LALT, SPC, RALT, MO6, MO6, MO4), /* Keymap 1: colemak ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ @@ -41,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, F, P, G, J, L, U, Y, SCLN, LBRC, RBRC, BSLS, \ BSPC, A, R, S, T, D, H, N, E, I, O, QUOT, NO, ENT, \ LSFT, NO, Z, X, C, V, B, K, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, MO4), /* Keymap 2: dvorak ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│ @@ -60,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSLS, \ CAPS, A, O, E, U, I, D, H, T, N, S, MINS, NO, ENT, \ LSFT, NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, MO4), /* Keymap 3: workman ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ @@ -79,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, D, R, W, B, J, F, U, P, SCLN, LBRC, RBRC, BSLS, \ BSPC, A, S, H, T, G, Y, N, E, O, I, QUOT, NO, ENT, \ LSFT, NO, Z, X, M, C, V, K, L, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, MO4), /* Overlay 4: HHKB mode ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ @@ -98,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PSCR, SLCK, PAUS, UP, TRNS, INS, \ LCTL, VOLD, VOLU, MUTE, TRNS, TRNS, PAST, PSLS, HOME, PGUP, LEFT, RGHT, TRNS, ENT, \ LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PPLS, PMNS, END, PGDN, DOWN, TRNS, RSFT, TRNS, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, FN4, TRNS), + LCTL, LGUI, LALT, SPC, RALT, RGUI, MO7, TRNS), /* Overlay 5: Vi mode (Slash) ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│BkSpc│ @@ -169,11 +173,8 @@ Lw: set Workman layout * Fn action definition */ const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(4), [1] = ACTION_LAYER_TAP_KEY(5, KC_SLASH), [2] = ACTION_LAYER_TAP_KEY(6, KC_SCLN), - [3] = ACTION_LAYER_MOMENTARY(6), - [4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector [5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout [6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout [7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout diff --git a/keyboards/sentraq/s60_x/keymaps/hhkb/keymap.c b/keyboards/sentraq/s60_x/keymaps/hhkb/keymap.c index b572b4484b2e..1ccefb6dd1c3 100644 --- a/keyboards/sentraq/s60_x/keymaps/hhkb/keymap.c +++ b/keyboards/sentraq/s60_x/keymaps/hhkb/keymap.c @@ -1,5 +1,7 @@ #include QMK_KEYBOARD_H +#define KC_MO1 MO(1) + /* * HHKB Layout */ @@ -21,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, BSLS, GRV, \ TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSPC, \ 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, FN0, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, MO1, \ NO, LGUI, LALT, SPC, NO, RALT, RGUI, NO), /* 1: HHKB Fn layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ @@ -43,10 +45,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PPLS, PMNS, END, PGDN, DOWN, NO, TRNS, TRNS, \ TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), }; - -/* - * Fn action definition - */ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), -}; diff --git a/keyboards/sentraq/s60_x/keymaps/jpec/keymap.c b/keyboards/sentraq/s60_x/keymaps/jpec/keymap.c index 4d84396e3194..4b7208a9e20b 100644 --- a/keyboards/sentraq/s60_x/keymaps/jpec/keymap.c +++ b/keyboards/sentraq/s60_x/keymaps/jpec/keymap.c @@ -16,6 +16,8 @@ along with this program. If not, see . #include QMK_KEYBOARD_H +#define KC_MO1 MO(1) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layout 0: Default Layer * ,-----------------------------------------------------------. @@ -35,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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), + MO1, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), /* Layout 1: Function Layer * ,-----------------------------------------------------------. @@ -63,7 +65,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ 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 */ diff --git a/keyboards/sentraq/s60_x/keymaps/poker/keymap.c b/keyboards/sentraq/s60_x/keymaps/poker/keymap.c index 61685b477a14..3b38ed501b89 100644 --- a/keyboards/sentraq/s60_x/keymaps/poker/keymap.c +++ b/keyboards/sentraq/s60_x/keymaps/poker/keymap.c @@ -1,5 +1,8 @@ #include QMK_KEYBOARD_H +#define KC_MO6 MO(6) +#define KC_MO7 MO(7) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: qwerty ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ @@ -19,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ CAPS, 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, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + LCTL, LGUI, LALT, SPC, MO6, RGUI, APP, RCTL), /* 1: colemak ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ @@ -38,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, F, P, G, J, L, U, Y, SCLN, LBRC, RBRC, BSLS, \ BSPC, A, R, S, T, D, H, N, E, I, O, QUOT, NO, ENT, \ LSFT, NO, Z, X, C, V, B, K, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + LCTL, LGUI, LALT, SPC, MO6, RGUI, APP, RCTL), /* 2: dvorak ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│ @@ -57,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSLS, \ CAPS, A, O, E, U, I, D, H, T, N, S, MINS, NO, ENT, \ LSFT, NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + LCTL, LGUI, LALT, SPC, MO6, RGUI, APP, RCTL), /* 3: workman ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ @@ -76,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, D, R, W, B, J, F, U, P, SCLN, LBRC, RBRC, BSLS, \ BSPC, A, S, H, T, G, Y, N, E, O, I, QUOT, NO, ENT, \ LSFT, NO, Z, X, M, C, V, K, L, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + LCTL, LGUI, LALT, SPC, MO6, RGUI, APP, RCTL), /* 4: Poker with Arrow ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ @@ -136,7 +139,7 @@ FnS: toggle Arrow overlay */ LAYOUT_kc( ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, FN2, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, FN4, \ + TRNS, FN2, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, MO7, \ TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN3, END, TRNS, TRNS, \ TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ TRNS, TRNS, TRNS, FN1, TRNS, TRNS, TRNS, TRNS), @@ -168,11 +171,9 @@ Lw: set Workman layout }; const uint16_t PROGMEM fn_actions[] = { /* Poker Layout */ - [0] = ACTION_LAYER_MOMENTARY(6), // to Fn overlay [1] = ACTION_LAYER_TOGGLE(4), // toggle arrow overlay [2] = ACTION_LAYER_TOGGLE(5), // toggle Esc overlay [3] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // Task(RControl,RShift+Esc) - [4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector [5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout [6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout [7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout diff --git a/keyboards/sentraq/s65_x/keymaps/kelorean/keymap.c b/keyboards/sentraq/s65_x/keymaps/kelorean/keymap.c index 7a0de8559d40..371c2b8ef6ec 100644 --- a/keyboards/sentraq/s65_x/keymaps/kelorean/keymap.c +++ b/keyboards/sentraq/s65_x/keymaps/kelorean/keymap.c @@ -140,7 +140,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(_FL), // Momentary Fn overlay [1] = ACTION_LAYER_TOGGLE(_CM), //Toggle Colemak Layer overlay [2] = ACTION_LAYER_TOGGLE(_DV), // Toggle Dvorak Layer overlay [3] = ACTION_LAYER_TOGGLE(_AL), // Toggle Arrow Layer overlay diff --git a/keyboards/sentraq/s65_x/keymaps/nall/keymap.c b/keyboards/sentraq/s65_x/keymaps/nall/keymap.c index a5daed006abe..37bd742b5926 100644 --- a/keyboards/sentraq/s65_x/keymaps/nall/keymap.c +++ b/keyboards/sentraq/s65_x/keymaps/nall/keymap.c @@ -94,7 +94,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(_FL), // Momentary Fn overlay [1] = ACTION_LAYER_TOGGLE(_AL), // Toggle Arrow Layer overlay [2] = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer [3] = ACTION_LAYER_TOGGLE(_UL), // Toggle Underglow Layer overlay diff --git a/keyboards/whitefox/keymaps/kim-kim/keymap.c b/keyboards/whitefox/keymaps/kim-kim/keymap.c index 1e6149899fbd..a2540675828c 100644 --- a/keyboards/whitefox/keymaps/kim-kim/keymap.c +++ b/keyboards/whitefox/keymaps/kim-kim/keymap.c @@ -41,7 +41,7 @@ const uint16_t 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_LBRC,KC_RBRC,KC_BSPC, KC_DEL, \ KC_LCTRL, 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_PGUP,\ KC_LSFT,XXXXXXX,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP, KC_PGDN,\ - KC_LALT,KC_FN0,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT, XXXXXXX, KC_LEFT,KC_DOWN,KC_RGHT \ + KC_LALT,MO(1), KC_LGUI, KC_SPC, KC_RGUI,KC_RALT, XXXXXXX, KC_LEFT,KC_DOWN,KC_RGHT \ ), [1] = LAYOUT( \ _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,_______,_______,\ @@ -57,8 +57,6 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #define ACTION_LEDS_GAME 2 const uint16_t fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), - [1] = ACTION_LAYER_MOMENTARY(2), [2] = ACTION_FUNCTION(ACTION_LEDS_ALL), [3] = ACTION_FUNCTION(ACTION_LEDS_GAME), diff --git a/keyboards/whitefox/keymaps/matt3o/keymap.c b/keyboards/whitefox/keymaps/matt3o/keymap.c index 76fb72f8e3ef..f6987fe1aafc 100644 --- a/keyboards/whitefox/keymaps/matt3o/keymap.c +++ b/keyboards/whitefox/keymaps/matt3o/keymap.c @@ -33,9 +33,9 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( \ 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_GRV, KC_MUTE,\ 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_DEL, \ - KC_FN0, 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_PGUP,\ + MO(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,KC_ENT, KC_PGUP,\ 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_RSFT, KC_UP, KC_PGDN,\ - KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_FN1, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT \ + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(2), KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT \ ), [1] = LAYOUT( \ KC_TRNS,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_TRNS,KC_TRNS,KC_TRNS,\ @@ -58,8 +58,6 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #define ACTION_LEDS_GAME 2 const uint16_t fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), - [1] = ACTION_LAYER_MOMENTARY(2), [2] = ACTION_FUNCTION(ACTION_LEDS_ALL), [3] = ACTION_FUNCTION(ACTION_LEDS_GAME), diff --git a/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c b/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c index 84de7872f4e2..8d6e4da77ca4 100644 --- a/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c +++ b/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c @@ -73,7 +73,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ______,______,______, ______, ______,______,______,______ ), // */ }; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), -}; diff --git a/keyboards/xd60/keymaps/Jos/keymap.c b/keyboards/xd60/keymaps/Jos/keymap.c index 87dbad159a53..f272d6fd18cd 100644 --- a/keyboards/xd60/keymaps/Jos/keymap.c +++ b/keyboards/xd60/keymaps/Jos/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \ KC_TAB, 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_ESC, 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_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, F(0), \ + KC_LSFT, KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), \ KC_LCTL, TD(0), KC_LALT, KC_SPC , KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT), // 1: Function 1 Layers @@ -76,8 +76,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Custom Actions const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn1 layer - [1] = ACTION_LAYER_MOMENTARY(2), // to GUI/Fn2 layer [2] = ACTION_LAYER_TOGGLE(3), // to Fn3/Num toggle layer }; diff --git a/keyboards/xd60/keymaps/birkir/keymap.c b/keyboards/xd60/keymaps/birkir/keymap.c index 35b60ae810e7..52f7086f210d 100644 --- a/keyboards/xd60/keymaps/birkir/keymap.c +++ b/keyboards/xd60/keymaps/birkir/keymap.c @@ -9,7 +9,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_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, KC_RSFT, KC_UP, TG(2), \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, F(0), KC_LEFT, KC_DOWN, KC_RIGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), // 1: Function Layer @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, \ KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, TG(2), \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, F(0), KC_HOME, KC_PGDOWN,KC_END + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDOWN,KC_END ), // 2: Cool Layer @@ -27,15 +27,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, \ KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, TG(2), \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, F(0), KC_HOME, KC_PGDOWN,KC_END + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDOWN,KC_END ) }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; - // Macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/xd60/keymaps/edulpn/keymap.c b/keyboards/xd60/keymaps/edulpn/keymap.c index 4ff00140aa07..88032a384bf9 100644 --- a/keyboards/xd60/keymaps/edulpn/keymap.c +++ b/keyboards/xd60/keymaps/edulpn/keymap.c @@ -9,7 +9,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_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_RSHIFT, KC_NO, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, F(0), KC_NO, KC_RGUI, KC_RCTL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_NO, KC_RGUI, KC_RCTL), // 1: Function Layer LAYOUT_all( @@ -17,15 +17,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_UP, KC_NO, KC_INSERT, KC_HOME, KC_PGUP, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, KC_END, KC_PGDN, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, F(0), KC_NO, KC_RGUI, KC_RCTL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_NO, KC_RGUI, KC_RCTL), }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; - // Macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/xd60/keymaps/edulpn64/keymap.c b/keyboards/xd60/keymaps/edulpn64/keymap.c index 95d80ffb77cc..d1ad6f1b6450 100644 --- a/keyboards/xd60/keymaps/edulpn64/keymap.c +++ b/keyboards/xd60/keymaps/edulpn64/keymap.c @@ -9,7 +9,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_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_RSFT, KC_UP, KC_DEL, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, F(0) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), // 1: Function Layer LAYOUT_all( @@ -17,15 +17,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR,KC_SLCK,KC_PAUS, RGB_RMOD,RGB_MOD, RGB_VAD, RGB_VAI, \ KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_HOME,KC_PGUP, RGB_HUD, RGB_HUI, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_PGDN, KC_NO, KC_RSFT, KC_UP, KC_DEL, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, F(0), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT), }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; - // Macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/xd60/keymaps/kmontag42/keymap.c b/keyboards/xd60/keymaps/kmontag42/keymap.c index 719700d66cc5..e23aef589e66 100644 --- a/keyboards/xd60/keymaps/kmontag42/keymap.c +++ b/keyboards/xd60/keymaps/kmontag42/keymap.c @@ -10,7 +10,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_LBRC, KC_RBRC, KC_BSLS, \ 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_DOT, KC_ENT, \ KC_LSPO, 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_RSPC, KC_RGUI, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, F(0), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT), // 1: Function Layer LAYOUT_all( @@ -18,15 +18,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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(0), KC_NO, KC_NO, KC_NO, KC_NO), + KC_NO, KC_NO, KC_NO, KC_NO, MO(1), KC_NO, KC_NO, KC_NO, KC_NO), }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; - // Macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/xd60/keymaps/krusli/keymap.c b/keyboards/xd60/keymaps/krusli/keymap.c index b34b4dfbcf67..6b4dfdc33f7d 100644 --- a/keyboards/xd60/keymaps/krusli/keymap.c +++ b/keyboards/xd60/keymaps/krusli/keymap.c @@ -21,11 +21,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______), }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; - // Macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/xd60/keymaps/split_bksp_arrows/keymap.c b/keyboards/xd60/keymaps/split_bksp_arrows/keymap.c index f95a4e9e780d..005355cd20f7 100644 --- a/keyboards/xd60/keymaps/split_bksp_arrows/keymap.c +++ b/keyboards/xd60/keymaps/split_bksp_arrows/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_all( KC_GESC, 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_INS, \ 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, \ - F(0), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, \ + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, \ KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SLSH, KC_UP, KC_DEL, \ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_CAPS, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT), @@ -33,9 +33,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Function Layer +// Macros +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; }; // Loop diff --git a/keyboards/xd60/keymaps/stanleylai/keymap.c b/keyboards/xd60/keymaps/stanleylai/keymap.c index a0a69c476d50..9d7327ee69de 100644 --- a/keyboards/xd60/keymaps/stanleylai/keymap.c +++ b/keyboards/xd60/keymaps/stanleylai/keymap.c @@ -7,15 +7,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_all( 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_GRV, \ 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, \ - F(0), 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, F(1), KC_UP, KC_DEL, \ + MO(1), 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, MO(2), KC_UP, KC_DEL, \ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), // 1: Function Layer LAYOUT_all( RESET, 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_CAPS, KC_MPRV, KC_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, \ - F(0), KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, \ + MO(1), KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_INS, \ KC_LCTL, KC_LALT, KC_LGUI, KC_MPLY, KC_RGUI, KC_RALT, KC_HOME, KC_PGDOWN,KC_END), @@ -24,17 +24,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, BL_TOGG, BL_STEP, 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, RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - KC_NO, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, F(1), KC_NO, KC_NO, \ + KC_NO, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MO(2), KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Function Layer - [1] = ACTION_LAYER_MOMENTARY(2), // to RGB Layer -}; - // Macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/xd60/keymaps/supercoffee/keymap.c b/keyboards/xd60/keymaps/supercoffee/keymap.c index d42e611e9cc3..4bf30398f5b1 100644 --- a/keyboards/xd60/keymaps/supercoffee/keymap.c +++ b/keyboards/xd60/keymaps/supercoffee/keymap.c @@ -9,7 +9,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_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_RSHIFT, KC_NO, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, F(0), KC_RALT, KC_NO, KC_RGUI, KC_RCTL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_NO, KC_RGUI, KC_RCTL), // 1: Function Layer LAYOUT_all( @@ -17,15 +17,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_UP, KC_END, KC_NO, KC_NO, KC_CALC, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, \ KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_NO, KC_DEL, BL_STEP,KC_NO, KC_NO, KC_VOLD, KC_VOLU,KC_MUTE, KC_NO, KC_PGDN, KC_RSFT, KC_NO, KC_NO, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, F(0), KC_RALT, KC_NO, KC_RGUI, KC_RCTL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_NO, KC_RGUI, KC_RCTL), }; -// Custom Actions -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; - // Macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/layouts/community/60_iso/unxmaal/keymap.c b/layouts/community/60_iso/unxmaal/keymap.c index 8f2d55d9be7c..07fca874e4be 100644 --- a/layouts/community/60_iso/unxmaal/keymap.c +++ b/layouts/community/60_iso/unxmaal/keymap.c @@ -108,7 +108,6 @@ enum function_id { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(2), // Momentary Fn overlay [1] = ACTION_LAYER_TOGGLE(1), // Toggle Arrow Layer overlay [2] = ACTION_LAYER_TAP_KEY(2, KC_CAPS), // Tap to toggle caps lock and hold to activate function layer [3] = ACTION_LAYER_TOGGLE(3), // Toggle Underglow Layer overlay diff --git a/layouts/community/ergodox/guni/keymap.c b/layouts/community/ergodox/guni/keymap.c index 9a00f0a979b9..021271c2e151 100644 --- a/layouts/community/ergodox/guni/keymap.c +++ b/layouts/community/ergodox/guni/keymap.c @@ -138,7 +138,6 @@ const uint16_t PROGMEM fn_actions[] = { //[29] = ACTION_LAYER_TOGGLE(4), [29] = ACTION_MODS_TAP_KEY(MOD_RSFT,KC_ESC), [30] = ACTION_LAYER_TAP_KEY(1, KC_QUOT), - [31] = ACTION_LAYER_MOMENTARY(2), //[] = ACTION_LAYER_TAP_KEY(4, KC_S), }; diff --git a/layouts/community/ergodox/ishigoya-jp/keymap.c b/layouts/community/ergodox/ishigoya-jp/keymap.c index 43bc74a0e1f5..59040cd50c96 100644 --- a/layouts/community/ergodox/ishigoya-jp/keymap.c +++ b/layouts/community/ergodox/ishigoya-jp/keymap.c @@ -144,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_RCTL, KC_LGUI, KC_LALT,JP_UNDS,KC_LCTL, KC_BTN3, KC_DEL, KC_NO, - KC_SPC,KC_LSFT,F(1), + KC_SPC,KC_LSFT,MO(NUM), // right hand LCTL(KC_Z), KC_NO, LSFT(KC_4), JP_AT, KC_LEFT, KC_UP, KC_RIGHT, KC_PGUP, KC_J, KC_F, KC_U, KC_P, KC_DOWN, LSFT(KC_3), @@ -187,7 +187,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_NO, - M(SHIFT), M(JPFN), F(1), + M(SHIFT), M(JPFN), MO(NUM), // right hand KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(JPFU), M(JPSE), M(JPTSU), M(JPKU), KC_TRNS, KC_TRNS, @@ -415,10 +415,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(NUM) // FN1 - Momentary Layer 6 (Numbers) -}; - const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c index dcf2dc1d85ba..729810705bdb 100644 --- a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c +++ b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c @@ -47,7 +47,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_TAB, M(KC_Q), M(KC_W), M(KC_E), M(KC_R), M(KC_T), KC_LBRC, M(KC_CAPS), M(KC_A), M(KC_S), M(KC_D), M(KC_F), M(KC_G), - KC_LSFT, M(KC_Z), M(KC_X), M(KC_C), M(KC_V), M(KC_B), KC_FN0, + KC_LSFT, M(KC_Z), M(KC_X), M(KC_C), M(KC_V), M(KC_B), MO(SYMB), KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RGHT, KC_TRNS, KC_FN1, KC_HOME, @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_RBRC, M(KC_Y), M(KC_U), M(KC_I), M(KC_O), M(KC_P), KC_BSLS, M(KC_H), M(KC_J), M(KC_K), M(KC_L), KC_SCLN, KC_QUOT, - KC_FN0, M(KC_N), M(KC_M), KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + MO(SYMB), M(KC_N), M(KC_M), KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DOWN, KC_UP, KC_RCTL, KC_RGUI, KC_RALT, KC_RALT, KC_RCTL, KC_PGUP, @@ -148,12 +148,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - ACTION_LAYER_MOMENTARY(SYMB), // FN0 - Momentary Layer 1 (Symbols) - ACTION_LAYER_ON(SYMB,ON_RELEASE), // FN1 - Enable Layer 1 (Symbols) - ACTION_LAYER_ON(MDIA,ON_RELEASE), // FN2 - Enable Layer 2 (Media) - ACTION_LAYER_OFF(SYMB,ON_RELEASE), // FN3 - Disable Layer 1 (Symbols) - ACTION_LAYER_OFF(MDIA,ON_RELEASE), // FN4 - Disable Layer 2 (MMedia) - ACTION_LAYER_MOMENTARY(MDIA) // FN5 - Momentary Layer 2 (Mdia) + [1] = ACTION_LAYER_ON(SYMB,ON_RELEASE), // FN1 - Enable Layer 1 (Symbols) + [2] = ACTION_LAYER_ON(MDIA,ON_RELEASE), // FN2 - Enable Layer 2 (Media) + [3] = ACTION_LAYER_OFF(SYMB,ON_RELEASE), // FN3 - Disable Layer 1 (Symbols) + [4] = ACTION_LAYER_OFF(MDIA,ON_RELEASE), // FN4 - Disable Layer 2 (MMedia) }; From 210da974a071ca4df810e5330bdaf10ef0c6dfef Mon Sep 17 00:00:00 2001 From: skullydazed Date: Wed, 10 Jul 2019 16:24:48 -0700 Subject: [PATCH 054/416] Add new files to the list of files that are formatted. (#6296) --- util/travis_compiled_push.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh index f20e30cdb3b9..4737d693b8d7 100755 --- a/util/travis_compiled_push.sh +++ b/util/travis_compiled_push.sh @@ -11,10 +11,10 @@ if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; the # fix formatting git checkout master -git diff --diff-filter=M --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 dos2unix -git diff --diff-filter=M --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | grep -e '^drivers' -e '^quantum' -e '^tests' -e '^tmk_core' | xargs -0 clang-format -git diff --diff-filter=M --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add -git commit -m "convert to unix line-endings [skip ci]" && git push git@github.com:qmk/qmk_firmware.git master +git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 dos2unix +git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | grep -e '^drivers' -e '^quantum' -e '^tests' -e '^tmk_core' | xargs -0 clang-format +git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add +git commit -m "format code according to conventions [skip ci]" && git push git@github.com:qmk/qmk_firmware.git master increment_version () { From 691be16b236a93d2a8d22455d64f6f0f2153fbbd Mon Sep 17 00:00:00 2001 From: skullY Date: Fri, 12 Jul 2019 11:22:39 -0700 Subject: [PATCH 055/416] Have clang ignore the code in bootloader_size.c --- tmk_core/common/avr/bootloader_size.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tmk_core/common/avr/bootloader_size.c b/tmk_core/common/avr/bootloader_size.c index 0d8d534f84be..a029f9321fe7 100644 --- a/tmk_core/common/avr/bootloader_size.c +++ b/tmk_core/common/avr/bootloader_size.c @@ -16,5 +16,6 @@ #include #include +// clang-format off // this is not valid C - it's for computing the size available on the chip -AVR_SIZE: FLASHEND + 1 - BOOTLOADER_SIZE \ No newline at end of file +AVR_SIZE: FLASHEND + 1 - BOOTLOADER_SIZE From 5a2a65073026e718994acb76d0cb8b2ba59f3e4b Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 9 Jul 2019 18:53:53 -0700 Subject: [PATCH 056/416] Update swedish based keymaps with newer keycodes --- keyboards/ergodox_ez/keymaps/skug/keymap.c | 32 +++++----- .../iris/keymaps/olligranlund_nordic/keymap.c | 18 +++--- .../keebio/iris/keymaps/swedish/keymap.c | 20 +++--- .../keebio/nyquist/keymaps/skug/keymap.c | 30 ++++----- keyboards/planck/keymaps/motform/keymap.c | 20 +++--- keyboards/planck/keymaps/skug/keymap.c | 18 +++--- .../ergodox/dvorak_programmer_swe/keymap.c | 62 +++++++++---------- .../ergodox/dvorak_svorak_a5/keymap.c | 38 ++++++------ .../community/ergodox/swedish-lindhe/keymap.c | 14 ++--- layouts/community/ergodox/swedish/keymap.c | 28 ++++----- quantum/keymap_extras/keymap_swedish.h | 1 - 11 files changed, 140 insertions(+), 141 deletions(-) diff --git a/keyboards/ergodox_ez/keymaps/skug/keymap.c b/keyboards/ergodox_ez/keymaps/skug/keymap.c index 6f9a577f7e3a..af171c7e7187 100644 --- a/keyboards/ergodox_ez/keymaps/skug/keymap.c +++ b/keyboards/ergodox_ez/keymaps/skug/keymap.c @@ -66,22 +66,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = LAYOUT_ergodox_80( // layer 0 : default // left hand - NO_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_INS, + SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_INS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_WBAK, - CTL_T(NO_APOS), NO_ACUT, KC_LALT, KC_BSPC, KC_SPC, - NO_LESS, KC_END, + CTL_T(SE_APOS), SE_ACUT, KC_LALT, KC_BSPC, KC_SPC, + SE_LESS, KC_END, KC_LEFT, KC_RIGHT, KC_PGDN, CTL_T(KC_ENT), ALT_T(KC_ESC), KC_LGUI, // right hand - TO(ARRW), KC_6, KC_7, KC_8, KC_9, KC_0, NO_PLUS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, NO_OSLH), LT(SYMB, NO_AE), - KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, NO_MINS, KC_RSPC, - KC_SPC, KC_BSPC, KC_ALGR, NO_ASTR, CTL_T(NO_TILD), - KC_HOME, NO_CIRC, + TO(ARRW), KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_OSLH), LT(SYMB, SE_AE), + KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSPC, + KC_SPC, KC_BSPC, KC_ALGR, SE_ASTR, CTL_T(SE_TILD), + KC_HOME, SE_CIRC, KC_PGUP, KC_UP, KC_DOWN, KC_LGUI, ALT_T(KC_ESC), CTL_T(KC_ENT) ), @@ -110,19 +110,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SYMB] = LAYOUT_ergodox_80( // left hand VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, - _______,KC_EXLM,NO_AT, NO_LCBR,NO_RCBR,NO_PIPE,_______, - _______,KC_HASH,NO_DLR, NO_LPRN,NO_RPRN,NO_GRV, - _______,KC_PERC,NO_CIRC,NO_LBRC,NO_RBRC,NO_TILD,_______, + _______,KC_EXLM,SE_AT, SE_LCBR,SE_RCBR,SE_PIPE,_______, + _______,KC_HASH,SE_DLR, SE_LPRN,SE_RPRN,SE_GRV, + _______,KC_PERC,SE_CIRC,SE_LBRC,SE_RBRC,SE_TILD,_______, EPRM,_______,_______,_______,_______, _______,_______, _______,_______,_______, _______,_______,_______, // right hand _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_UP, KC_7, KC_8, KC_9, NO_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, NO_PLUS, _______, - _______, NO_AMPR, KC_1, KC_2, KC_3, NO_MINS, _______, - _______,KC_DOT, KC_0, NO_EQL, _______, + _______, KC_UP, KC_7, KC_8, KC_9, SE_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, SE_PLUS, _______, + _______, SE_AMPR, KC_1, KC_2, KC_3, SE_MINS, _______, + _______,KC_DOT, KC_0, SE_EQL, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c b/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c index 65ed6d289b4e..115b70640e7c 100644 --- a/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c +++ b/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c @@ -22,9 +22,9 @@ enum custom_keycodes { #define KC_ADJ ADJUST #define KC_RST RESET -#define KC_AA NO_AA -#define KC_AE NO_AE -#define KC_OE NO_OSLH +#define KC_AA SE_AA +#define KC_AE SE_AE +#define KC_OE SE_OSLH const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -44,13 +44,13 @@ LT(_LOWER, KC_TAB),KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ [_LOWER] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - NO_TILD, KC_EXLM, NO_AT, KC_HASH, NO_DLR, KC_PERC, NO_CIRC, NO_AMPR, NO_ASTR, NO_SLSH, NO_LPRN, NO_RPRN, + SE_TILD, KC_EXLM, SE_AT, KC_HASH, SE_DLR, KC_PERC, SE_CIRC, SE_AMPR, SE_ASTR, SE_SLSH, SE_LPRN, SE_RPRN, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDOWN, NO_LCBR, NO_RCBR, + KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDOWN, SE_LCBR, SE_RCBR, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, NO_BSLS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, NO_LBRC, NO_RBRC, + KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, SE_BSLS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, SE_LBRC, SE_RBRC, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_GRAVE, KC_CIRC, KC_QUOTE, NO_LESS, NO_GRTR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_GRAVE, KC_CIRC, KC_QUOTE, SE_LESS, SE_GRTR, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS // └────────┴────────┴────────┘ └────────┴────────┴────────┘ @@ -60,9 +60,9 @@ LT(_LOWER, KC_TAB),KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - NO_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, NO_MINS, NO_ASTR, + SE_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, SE_MINS, SE_ASTR, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, NO_PLUS, NO_SLSH, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, SE_PLUS, SE_SLSH, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_0, KC_TRNS, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ diff --git a/keyboards/keebio/iris/keymaps/swedish/keymap.c b/keyboards/keebio/iris/keymaps/swedish/keymap.c index 26e28479e8df..c6b7f6afd21c 100644 --- a/keyboards/keebio/iris/keymaps/swedish/keymap.c +++ b/keyboards/keebio/iris/keymaps/swedish/keymap.c @@ -22,9 +22,9 @@ enum custom_keycodes { #define KC_RASE RAISE #define KC_RST RESET -#define KC_AA NO_AA -#define KC_AE NO_AE -#define KC_OE NO_OSLH +#define KC_AA SE_AA +#define KC_AE SE_AE +#define KC_OE SE_OSLH const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -44,13 +44,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT( //,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------. - NO_TILD,KC_EXLM,NO_AT ,KC_HASH,NO_DLR ,KC_PERC, NO_CIRC,NO_AMPR,NO_ASTR,NO_SLSH,NO_LPRN,NO_RPRN, + SE_TILD,KC_EXLM,SE_AT ,KC_HASH,SE_DLR ,KC_PERC, SE_CIRC,SE_AMPR,SE_ASTR,SE_SLSH,SE_LPRN,SE_RPRN, //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - NO_ACUT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,NO_PIPE,NO_LCBR,NO_RCBR, + SE_ACUT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,SE_PIPE,SE_LCBR,SE_RCBR, //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,NO_BSLS, KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,NO_LBRC,NO_RBRC, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,SE_BSLS, KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,SE_LBRC,SE_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,NO_LESS,NO_GRTR, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,SE_LESS,SE_GRTR, //`-------+-------+-------+--+----+-------+-------+-------/ \-------+-------+-------+-------+-------+-------+-------' KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS // `-------+-------+-------' `-------+-------+-------' @@ -60,11 +60,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------. KC_F12 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - NO_GRV ,KC_7 ,KC_8 ,KC_9 ,NO_MINS,NO_ASTR, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,NO_PIPE, + SE_GRV ,KC_7 ,KC_8 ,KC_9 ,SE_MINS,SE_ASTR, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,SE_PIPE, //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - KC_TRNS,KC_4 ,KC_5 ,KC_6 ,NO_PLUS,NO_SLSH, KC_HOME,KC_PGDN,KC_PGUP,KC_END ,KC_TRNS,NO_BSLS, + KC_TRNS,KC_4 ,KC_5 ,KC_6 ,SE_PLUS,SE_SLSH, KC_HOME,KC_PGDN,KC_PGUP,KC_END ,KC_TRNS,SE_BSLS, //|-------+-------+-------+-------+-------+-------+-------. ,-------|-------+-------+-------+-------+-------+-------| - KC_TRNS,KC_1 ,KC_2 ,KC_3 ,KC_0 ,NO_EQL ,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_1 ,KC_2 ,KC_3 ,KC_0 ,SE_EQL ,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, //`-------+-------+-------+--+----+-------+-------+-------/ \-------+-------+-------+-------+-------+-------+-------' KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS // `-------+-------+-------' `-------+-------+-------' diff --git a/keyboards/keebio/nyquist/keymaps/skug/keymap.c b/keyboards/keebio/nyquist/keymaps/skug/keymap.c index 2d511fee3c77..3d67b2a73a67 100644 --- a/keyboards/keebio/nyquist/keymaps/skug/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/skug/keymap.c @@ -29,12 +29,12 @@ extern keymap_config_t keymap_config; #define ARRW 3 #define _ADJUST 16 -#define CT_APOS CTL_T(NO_APOS) -#define CT_TILD CTL_T(NO_TILD) -#define MD_OSLH LT(MDIA, NO_OSLH) -#define SM_AE LT(SYMB, NO_AE) -#define NO_LT NO_LESS -#define NO_GT LSFT(NO_LESS) +#define CT_APOS CTL_T(SE_APOS) +#define CT_TILD CTL_T(SE_TILD) +#define MD_OSLH LT(MDIA, SE_OSLH) +#define SM_AE LT(SYMB, SE_AE) +#define SE_LT SE_LESS +#define SE_GT LSFT(SE_LESS) enum custom_keycodes { PLACEHOLDER = SAFE_RANGE, @@ -61,11 +61,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = LAYOUT( \ // LEFT HAND RIGHT HAND - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, NO_PLUS, \ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA, \ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, \ MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MD_OSLH, SM_AE, \ - KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, NO_MINS, KC_RSPC, \ - CT_APOS, NO_ACUT, KC_LALT, KC_BSPC, KC_SPC, KC_LGUI, KC_ENT, KC_SPC, KC_BSPC, KC_ALGR, NO_ASTR, CT_TILD \ + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSPC, \ + CT_APOS, SE_ACUT, KC_LALT, KC_BSPC, KC_SPC, KC_LGUI, KC_ENT, KC_SPC, KC_BSPC, KC_ALGR, SE_ASTR, CT_TILD \ ), /* Symbols layer @@ -83,10 +83,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [SYMB] = LAYOUT( \ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \ - _______, KC_EXLM, NO_AT, NO_LCBR, NO_RCBR, NO_PIPE, KC_UP, KC_7, KC_8, KC_9, NO_ASTR, KC_F12, \ - _______, KC_HASH, NO_DLR, NO_LPRN, NO_RPRN, NO_GRV, KC_DOWN, KC_4, KC_5, KC_6, NO_PLUS, _______, \ - _______, KC_PERC, NO_CIRC, NO_LBRC, NO_RBRC, NO_TILD, NO_AMPR, KC_1, KC_2, KC_3, NO_MINS, _______, \ - _______, _______, _______, NO_LT, NO_GT, _______, _______, _______, KC_DOT, KC_0, NO_EQL, _______ \ + _______, KC_EXLM, SE_AT, SE_LCBR, SE_RCBR, SE_PIPE, KC_UP, KC_7, KC_8, KC_9, SE_ASTR, KC_F12, \ + _______, KC_HASH, SE_DLR, SE_LPRN, SE_RPRN, SE_GRV, KC_DOWN, KC_4, KC_5, KC_6, SE_PLUS, _______, \ + _______, KC_PERC, SE_CIRC, SE_LBRC, SE_RBRC, SE_TILD, SE_AMPR, KC_1, KC_2, KC_3, SE_MINS, _______, \ + _______, _______, _______, SE_LT, SE_GT, _______, _______, _______, KC_DOT, KC_0, SE_EQL, _______ \ ), /* Media layer @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------' '-----------------------------------------' */ [ARRW] = LAYOUT( \ - NO_HALF, _______, _______, _______ , _______, _______, _______, _______, _______, KC_INS , KC_HOME, KC_PGUP, \ + SE_HALF, _______, _______, _______ , _______, _______, _______, _______, _______, KC_INS , KC_HOME, KC_PGUP, \ _______, _______, KC_UP , _______ , _______, _______, _______, _______, _______, KC_DEL , KC_END , KC_PGDN, \ _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_WBAK, KC_WFWD, _______, _______, _______, _______, _______, \ _______, _______, _______, _______ , _______, _______, _______, _______, _______, _______, _______, _______, \ diff --git a/keyboards/planck/keymaps/motform/keymap.c b/keyboards/planck/keymaps/motform/keymap.c index 15f0e05fb603..caa9a1899e77 100644 --- a/keyboards/planck/keymaps/motform/keymap.c +++ b/keyboards/planck/keymaps/motform/keymap.c @@ -31,8 +31,8 @@ enum planck_layers { #define RAISE MO(_RAISE) /* These definitions can be removed once keymap_swe is properly vetted against MacOS */ -#define NO_DLR_MAC_V ALGR(LALT(KC_4)) -#define NO_AT_MAC_V ALGR(LALT(KC_2)) +#define SE_DLR_MAC_V ALGR(LALT(KC_4)) +#define SE_AT_MAC_V ALGR(LALT(KC_2)) /* Esc when pressed, ctrl when used as a modifier */ #define KC_ECTL MT(MOD_LCTL, KC_ESC) @@ -52,9 +52,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_COLEMAK] = LAYOUT_planck_grid ( - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, NO_OSLH, NO_AA, - KC_ECTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, NO_AE, - KC_SFTENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, NO_MINS, KC_SFTENT, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, SE_OSLH, SE_AA, + KC_ECTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, SE_AE, + KC_SFTENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_SFTENT, KC_ESC, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_BSPC, RAISE, KC_RGUI, KC_RALT, KC_HYPR, KC_MEH ), @@ -71,9 +71,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_LOWER] = LAYOUT_planck_grid ( - _______, NO_PIPE_MAC, NO_APOS, NO_AT_MAC_V, NO_AMPR, _______, KC_DOWN, KC_NO, KC_RGHT, NO_GRV, NO_GRV, NO_TILD, - _______, KC_EXLM, NO_QUO2, KC_HASH, NO_QUES, KC_PERC, KC_LEFT, NO_SLSH, NO_BSLS_MAC, NO_EQL, KC_PPLS, KC_PAST, - _______, KC_NO, KC_NO, NO_LBRC, NO_LCBR_MAC, KC_NO, KC_UP, NO_RCBR_MAC, NO_RBRC, KC_NO, KC_NO, _______, + _______, SE_PIPE_MAC, SE_APOS, SE_AT_MAC_V, SE_AMPR, _______, KC_DOWN, KC_NO, KC_RGHT, SE_GRV, SE_GRV, SE_TILD, + _______, KC_EXLM, SE_QUO2, KC_HASH, SE_QUES, KC_PERC, KC_LEFT, SE_SLSH, SE_BSLS_MAC, SE_EQL, KC_PPLS, KC_PAST, + _______, KC_NO, KC_NO, SE_LBRC, SE_LCBR_MAC, KC_NO, KC_UP, SE_RCBR_MAC, SE_RBRC, KC_NO, KC_NO, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), @@ -91,8 +91,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RAISE] = LAYOUT_planck_grid ( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - NO_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, NO_DLR_MAC_V, - _______, KC_NO, KC_NO, NO_LESS_MAC, NO_LPRN, KC_NO, KC_NO, NO_RPRN, NO_GRTR_MAC, KC_PGUP, KC_PGDN, KC_NO, + SE_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_DLR_MAC_V, + _______, KC_NO, KC_NO, SE_LESS_MAC, SE_LPRN, KC_NO, KC_NO, SE_RPRN, SE_GRTR_MAC, KC_PGUP, KC_PGDN, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), diff --git a/keyboards/planck/keymaps/skug/keymap.c b/keyboards/planck/keymaps/skug/keymap.c index 86a1de767b19..27efc4759daf 100644 --- a/keyboards/planck/keymaps/skug/keymap.c +++ b/keyboards/planck/keymaps/skug/keymap.c @@ -39,7 +39,7 @@ enum planck_keycodes { #define ESC_LOW LT(_LOWER, KC_ESC) #define BSP_RAI LT(_RAISE, KC_BSPC) -#define LFT_CTR CTL_T(NO_APOS) +#define LFT_CTR CTL_T(SE_APOS) #define RGT_CTR CTL_T(KC_TILD) #define UTILITY MO(_UTILITY) @@ -57,10 +57,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_DEFAULT] = LAYOUT_planck_grid( - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , NO_AA , - UTILITY, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , NO_OSLH, NO_AE , - KC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , NO_MINS, KC_RSPC, - LFT_CTR, KC_LALT, KC_LGUI, NO_AT , ESC_LOW, KC_ENT , KC_SPC , BSP_RAI, _______, KC_ALGR, NO_ASTR, RGT_CTR + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , SE_AA , + UTILITY, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , SE_OSLH, SE_AE , + KC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , SE_MINS, KC_RSPC, + LFT_CTR, KC_LALT, KC_LGUI, SE_AT , ESC_LOW, KC_ENT , KC_SPC , BSP_RAI, _______, KC_ALGR, SE_ASTR, RGT_CTR ), /* Raise @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RAISE] = LAYOUT_planck_grid( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PLUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, NO_GRTR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, SE_GRTR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -93,9 +93,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_LOWER] = LAYOUT_planck_grid( - NO_HALF, LSFT(KC_1), NO_QUO2, LSFT(KC_3), NO_BULT, LSFT(KC_5), NO_AMPR, NO_SLSH, NO_LPRN, NO_RPRN, NO_EQL , NO_QUES, + SE_HALF, LSFT(KC_1), SE_QUO2, LSFT(KC_3), SE_BULT, LSFT(KC_5), SE_AMPR, SE_SLSH, SE_LPRN, SE_RPRN, SE_EQL , SE_QUES, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, NO_LESS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, SE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( 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 , MU_MOD , AU_ON , AU_OFF , AG_NORM, AG_SWAP, DEFAULT, XXXXXXX , XXXXXXX, UTILITY, _______, - _______, NO_PIPE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, SE_PIPE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c index 41beeb7e5fee..9b8885b70d25 100644 --- a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c +++ b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand MO(DEVL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, NO_MINS, KC_COMM, KC_DOT, KC_P, KC_Y, TG(SYMB), + KC_DELT, SE_MINS, KC_COMM, KC_DOT, KC_P, KC_Y, TG(SYMB), KC_LGUI, KC_A, KC_O, KC_E, KC_U, KC_I, KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, TG(MDIA), CTL_T(KC_NO), MO(SYMB), KC_LALT, KC_LEFT,KC_RGHT, @@ -69,8 +69,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_SPC,KC_BSPC,KC_END, // right hand KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLASH, - TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, NO_AM, - KC_D, KC_H, KC_T, KC_N, KC_S, NO_AE, + TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, SE_AM, + KC_D, KC_H, KC_T, KC_N, KC_S, SE_AE, TG(MDIA),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB), LALT(KC_LSFT), CTL_T(KC_ESC), @@ -102,18 +102,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SYMB] = LAYOUT_ergodox( // left hand M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS, NO_AT, ALGR(KC_7), ALGR(KC_0), NO_LBRC, NO_RBRC, KC_TRNS, - KC_TRNS, KC_HASH, NO_LPRN, NO_RPRN, ALGR(KC_MINS), NO_SLSH, - KC_TRNS, NO_TILD, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_TRNS, + KC_TRNS, SE_AT, ALGR(KC_7), ALGR(KC_0), SE_LBRC, SE_RBRC, KC_TRNS, + KC_TRNS, KC_HASH, SE_LPRN, SE_RPRN, ALGR(KC_MINS), SE_SLSH, + KC_TRNS, SE_TILD, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), 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, NO_LESS, KC_7, KC_8, KC_9, KC_KP_ASTERISK, KC_F12, - LSFT(NO_LESS), KC_4, KC_5, KC_6, KC_KP_PLUS, KC_TRNS, - KC_TRNS, NO_QUES, KC_1, KC_2, KC_3, LSFT(KC_5), KC_TRNS, + KC_TRNS, SE_LESS, KC_7, KC_8, KC_9, KC_KP_ASTERISK, KC_F12, + LSFT(SE_LESS), KC_4, KC_5, KC_6, KC_KP_PLUS, KC_TRNS, + KC_TRNS, SE_QUES, KC_1, KC_2, KC_3, LSFT(KC_5), KC_TRNS, KC_DOT,KC_0, LSFT(KC_0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -186,7 +186,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [DEVL] = LAYOUT_ergodox( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(MACRO_SAVE), M(MACRO_BUILD), M(MACRO_DEBUG), KC_PSCR, ALGR(KC_4), KC_TRNS, - KC_TRNS, NO_ACUT, NO_APOS, NO_PIPE, KC_TRNS, ALGR(KC_3), + KC_TRNS, SE_ACUT, SE_APOS, SE_PIPE, KC_TRNS, ALGR(KC_3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ALGR(KC_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -218,81 +218,81 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case MACRO_PUBLIC: if (record->event.pressed) { return MACRO( T(P), T(U), T(B), T(L), T(I), T(C), T(SPACE),END); - } + } break; case MACRO_PRIVATE: if (record->event.pressed) { return MACRO( T(P), T(R), T(I), T(V), T(A), T(T), T(E), T(SPACE),END); - } + } break; case MACRO_PROT: if (record->event.pressed) { return MACRO( T(P), T(R), T(O), T(T), T(E), T(C), T(T), T(E), T(D), T(SPACE),END); - } + } break; case MACRO_SHARED: if (record->event.pressed) { return MACRO( T(S), T(H), T(A), T(R), T(E), T(D), T(SPACE), END); - } + } break; case MACRO_CONST: if (record->event.pressed) { return MACRO( T(C), T(O), T(N), T(S), T(T), T(SPACE), END); - } - break; + } + break; case MACRO_DIM: if (record->event.pressed) { return MACRO( T(D), T(I), T(M), T(SPACE), END); - } + } break; case MACRO_STRING: if (record->event.pressed) { return MACRO( T(S), T(T), T(R), T(I), T(N), T(G), T(SPACE), END); - } - break; + } + break; case MACRO_BOOL: if (record->event.pressed) { return MACRO( T(B), T(O), T(O), T(L), T(E), T(A), T(N), T(SPACE), END); - } - break; + } + break; case MACRO_INT: if (record->event.pressed) { return MACRO( T(I), T(N), T(T), T(SPACE), END); - } + } break; case MACRO_DEC: if (record->event.pressed) { return MACRO( T(D), T(E), T(C), T(I), T(M), T(A), T(L), T(SPACE), END); - } + } break; case MACRO_RETURN: if (record->event.pressed) { return MACRO( T(R), T(E), T(T), T(U),T(R),T(N), T(SPACE), END); - } + } break; case MACRO_NOTHING: if (record->event.pressed) { return MACRO( T(N), T(O), T(T), T(H), T(I), T(N), T(G), T(SPACE), END); - } + } case MACRO_TODO: if (record->event.pressed) { return MACRO( KC_BSLASH, D(LSHIFT) ,T(T), T(O), T(D), T(O), KC_DOT, U(LSHIFT), T(SPACE),END); - } - break; + } + break; case MACRO_SAVE: if (record->event.pressed) { return MACRO( D(LCTL) ,T(S), U(LCTL),END); - } - break; + } + break; case MACRO_BUILD: if (record->event.pressed) { return MACRO( D(LCTL), D(LSHIFT) ,T(B), U(LSHIFT), U(LCTL),END); - } + } break; case MACRO_DEBUG: if (record->event.pressed) { return MACRO( KC_F5 ,END); - } + } break; } return MACRO_NONE; diff --git a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c index b0eff652b877..53ae0f2343ab 100644 --- a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c +++ b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | | 1 | 2 | 3 | 4 | 5 | ~MOUS| | QWRT | 6 | 7 | 8 | 9 | 0 | + | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | P | Y | | | Del | F | G | C | R | L | , | + * | | � | � | � | P | Y | | | Del | F | G | C | R | L | , | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | Escape | A | O | E | U | I |------| |------| D | H | T | N | S | -/_ | * |--------+------+------+------+------+------| | | RCTRL|------+------+------+------+------+--------| @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, MO(MOUS), - KC_TAB, NO_AA, NO_AE, NO_OSLH, KC_P, KC_Y, KC_NO, + KC_TAB, SE_AA, SE_AE, SE_OSLH, KC_P, KC_Y, KC_NO, KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_LSFT, KC_DOT, KC_Q, KC_J, KC_K, KC_X, KC_NO, KC_LCTRL, KC_NO, KC_NO, KC_LALT, KC_LCMD, @@ -41,9 +41,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_BSPC, KC_TAB, KC_NO, // right hand - TG(QWRT), KC_6, KC_7, KC_8, KC_9, KC_0, NO_PLUS, + TG(QWRT), KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, KC_DEL, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM, - KC_D, KC_H, KC_T, KC_N, KC_S, NO_MINS, + KC_D, KC_H, KC_T, KC_N, KC_S, SE_MINS, KC_RCTRL, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(SYMB), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | ; | / | ( | ) | | |------| |------| # | ^ | # | " | ~ | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | : | = | @ | ! | \ | | | | % | | ' | * | | | + * | | : | = | @ | ! | \ | | | | % | � | ' | * | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | | | | | | | | | * `----------------------------------' `----------------------------------' @@ -84,9 +84,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_NO, KC_NO, // right hand KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, LSFT(KC_2), NO_QUES, LSFT(KC_6), NO_LESS, NO_GRTR, KC_NO, - KC_HASH, NO_CIRC, KC_HASH, LSFT(KC_2), NO_TILD, KC_NO, - KC_NO, KC_PERC, NO_ACUT, NO_APOS, NO_ASTR, NO_GRV, KC_NO, + KC_NO, LSFT(KC_2), SE_QUES, LSFT(KC_6), SE_LESS, SE_GRTR, KC_NO, + KC_HASH, SE_CIRC, KC_HASH, LSFT(KC_2), SE_TILD, KC_NO, + KC_NO, KC_PERC, SE_ACUT, SE_APOS, SE_ASTR, SE_GRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, @@ -137,16 +137,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * * ,--------------------------------------------------. ,--------------------------------------------------. * | Print | ! | " | # | # | % | | |Middle| & | / | ( | ) | = | ? | - * | Screen | 1 | 2 @ | 3 | 4 $ | 5 | F11 | |Mouse | 6 | 7 { | 8 [ | 9 ] | 0 } | + \ | + * | Screen | 1 | 2 @ | 3 � | 4 $ | 5 | F11 | |Mouse | 6 | 7 { | 8 [ | 9 ] | 0 } | + \ | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | | + * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | � | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | | | + * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | � | � | * |--------+------+------+------+------+------| ` | | Del |------+------+------+------+------+--------| * | LShft | Z | X | C | V | B | ' | | | N | M | , | . | - | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | LCtl | ^ | * | LAlt | LGui | | AltGr| Down | Up | Left | Right| - * | (') | " ~ | ' | | | | | | | | | + * | (') | " ~ | ' � | | | | | | | | | * `----------------------------------' `----------------------------------' * ,-------------. ,--------------. * | LCtl | LAlt | | Home | End | @@ -161,16 +161,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PSCR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_ACUT, - CTL_T(NO_APOS), NO_CIRC, NO_ASTR, KC_LALT, KC_LGUI, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SE_ACUT, + CTL_T(SE_APOS), SE_CIRC, SE_ASTR, KC_LALT, KC_LGUI, KC_LCTRL, KC_LALT, - NO_TILD, + SE_TILD, KC_BSPC, KC_TAB, KC_ESC, // right hand - KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, NO_PLUS, - KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA, - KC_H, KC_J, KC_K, KC_L, NO_OSLH, NO_AE, - KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, NO_MINS, KC_RSFT, + KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, + KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, + KC_H, KC_J, KC_K, KC_L, SE_OSLH, SE_AE, + KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_PGUP, diff --git a/layouts/community/ergodox/swedish-lindhe/keymap.c b/layouts/community/ergodox/swedish-lindhe/keymap.c index 71ccba241484..5dd5c4d87dc2 100644 --- a/layouts/community/ergodox/swedish-lindhe/keymap.c +++ b/layouts/community/ergodox/swedish-lindhe/keymap.c @@ -53,16 +53,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PSCR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F11, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB), KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_ACUT, - CTL_T(NO_APOS), NO_CIRC, NO_ASTR, KC_LALT, KC_LGUI, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SE_ACUT, + CTL_T(SE_APOS), SE_CIRC, SE_ASTR, KC_LALT, KC_LGUI, KC_LCTRL, KC_LALT, - NO_TILD, + SE_TILD, KC_SPC, KC_BSPC, KC_ESC, // right hand - KC_MS_BTN3, KC_6, KC_7, KC_8, KC_9, KC_0, NO_PLUS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA, - KC_H, KC_J, KC_K, KC_L, NO_OSLH, NO_AE, - KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, NO_MINS, KC_RSFT, + KC_MS_BTN3, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, + KC_H, KC_J, KC_K, KC_L, SE_OSLH, SE_AE, + KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_PGUP, diff --git a/layouts/community/ergodox/swedish/keymap.c b/layouts/community/ergodox/swedish/keymap.c index 987f2c6afd59..d05dc6cc6669 100644 --- a/layouts/community/ergodox/swedish/keymap.c +++ b/layouts/community/ergodox/swedish/keymap.c @@ -62,20 +62,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand - NO_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), - LT(SYMB,NO_APOS), NO_ACUT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, + LT(SYMB,SE_APOS), SE_ACUT, 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, NO_PLUS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, NO_OSLH), GUI_T(NO_AE), - MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(NO_MINS), KC_RSFT, - KC_UP, KC_DOWN, NO_CIRC, NO_ASTR, TT(SYMB), + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_OSLH), GUI_T(SE_AE), + MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(SE_MINS), KC_RSFT, + KC_UP, KC_DOWN, SE_CIRC, SE_ASTR, TT(SYMB), KC_ALGR, CTL_T(KC_ESC), KC_PGUP, KC_PGDN,KC_TAB, KC_ENT @@ -106,19 +106,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SYMB] = LAYOUT_ergodox( // left hand VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,NO_AT, NO_LCBR,NO_RCBR,NO_PIPE,KC_TRNS, - KC_TRNS,KC_HASH,NO_DLR, NO_LPRN,NO_RPRN,NO_GRV, - KC_TRNS,KC_PERC,NO_CIRC,NO_LBRC,NO_RBRC,NO_TILD,KC_TRNS, + KC_TRNS,KC_EXLM,SE_AT, SE_LCBR,SE_RCBR,SE_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,SE_DLR, SE_LPRN,SE_RPRN,SE_GRV, + KC_TRNS,KC_PERC,SE_CIRC,SE_LBRC,SE_RBRC,SE_TILD,KC_TRNS, EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, RGB_MOD,KC_TRNS, KC_TRNS, RGB_VAD,RGB_VAI,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, NO_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, NO_PLUS, KC_TRNS, - KC_TRNS, NO_AMPR, KC_1, KC_2, KC_3, NO_MINS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, NO_EQL, KC_TRNS, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, SE_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, SE_PLUS, KC_TRNS, + KC_TRNS, SE_AMPR, KC_1, KC_2, KC_3, SE_MINS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, SE_EQL, KC_TRNS, RGB_TOG, RGB_SLD, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI diff --git a/quantum/keymap_extras/keymap_swedish.h b/quantum/keymap_extras/keymap_swedish.h index cc359efcddad..436e81a37a62 100644 --- a/quantum/keymap_extras/keymap_swedish.h +++ b/quantum/keymap_extras/keymap_swedish.h @@ -85,4 +85,3 @@ #define SE_RCBR_MAC ALGR(LSFT(KC_9)) // } #endif - From beb320a5c64b89e7bc1c08b0ed41ff60f053a796 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 12 Jul 2019 10:44:21 -0700 Subject: [PATCH 057/416] Fix Windows formatting issues Co-Authored-By: fauxpark --- layouts/community/ergodox/dvorak_svorak_a5/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c index 53ae0f2343ab..f558c6c4bea2 100644 --- a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c +++ b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | | 1 | 2 | 3 | 4 | 5 | ~MOUS| | QWRT | 6 | 7 | 8 | 9 | 0 | + | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | � | � | � | P | Y | | | Del | F | G | C | R | L | , | + * | | Å | Ä | Ö | P | Y | | | Del | F | G | C | R | L | , | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | Escape | A | O | E | U | I |------| |------| D | H | T | N | S | -/_ | * |--------+------+------+------+------+------| | | RCTRL|------+------+------+------+------+--------| @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | ; | / | ( | ) | | |------| |------| # | ^ | # | " | ~ | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | : | = | @ | ! | \ | | | | % | � | ' | * | | | + * | | : | = | @ | ! | \ | | | | % | ´ | ' | * | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | | | | | | | | | * `----------------------------------' `----------------------------------' @@ -137,16 +137,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * * ,--------------------------------------------------. ,--------------------------------------------------. * | Print | ! | " | # | # | % | | |Middle| & | / | ( | ) | = | ? | - * | Screen | 1 | 2 @ | 3 � | 4 $ | 5 | F11 | |Mouse | 6 | 7 { | 8 [ | 9 ] | 0 } | + \ | + * | Screen | 1 | 2 @ | 3 £ | 4 $ | 5 | F11 | |Mouse | 6 | 7 { | 8 [ | 9 ] | 0 } | + \ | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | � | + * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | Å | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | � | � | + * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | Ö | Ä | * |--------+------+------+------+------+------| ` | | Del |------+------+------+------+------+--------| * | LShft | Z | X | C | V | B | ' | | | N | M | , | . | - | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | LCtl | ^ | * | LAlt | LGui | | AltGr| Down | Up | Left | Right| - * | (') | " ~ | ' � | | | | | | | | | + * | (') | " ~ | ' ´ | | | | | | | | | * `----------------------------------' `----------------------------------' * ,-------------. ,--------------. * | LCtl | LAlt | | Home | End | From 7ff57644e181dda1b4e577517cf72cc962bf8f9e Mon Sep 17 00:00:00 2001 From: skullY Date: Fri, 12 Jul 2019 12:39:57 -0700 Subject: [PATCH 058/416] Fix vusb compiling after clang-format --- tmk_core/protocol/vusb/usbdrv/usbportability.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tmk_core/protocol/vusb/usbdrv/usbportability.h b/tmk_core/protocol/vusb/usbdrv/usbportability.h index 476184dc68fe..206041097d7e 100644 --- a/tmk_core/protocol/vusb/usbdrv/usbportability.h +++ b/tmk_core/protocol/vusb/usbdrv/usbportability.h @@ -8,6 +8,8 @@ * This Revision: $Id: usbportability.h 785 2010-05-30 17:57:07Z cs $ */ +// clang-format off + /* General Description: This header is intended to contain all (or at least most of) the compiler From 267a85c885a97219b544a3c706809821c4f28344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Fri, 2 Aug 2019 21:52:53 +0200 Subject: [PATCH 059/416] Remove KC_DELT alias in favor of KC_DEL (#6327) * Remove KC_DELT alias in favor of KC_DEL * Add changelog --- docs/ChangeLog/20190830/PR6327.md | 4 ++++ keyboards/adkb96/keymaps/default/keymap.c | 6 +++--- keyboards/atreus/keymaps/classic/keymap.c | 2 +- keyboards/atreus/keymaps/default/keymap.c | 2 +- keyboards/atreus/keymaps/jeremy/keymap.c | 2 +- keyboards/atreus/keymaps/nojjan/keymap.c | 2 +- keyboards/atreus/keymaps/ptillemans/keymap.c | 2 +- keyboards/atreus62/keymaps/default/keymap.c | 2 +- keyboards/atreus62/keymaps/mneme/keymap.c | 2 +- keyboards/bantam44/keymaps/default/keymap.c | 4 ++-- keyboards/dz60/keymaps/marianas/keyDefinitions.h | 2 +- keyboards/dz60/keymaps/marianas/keymap.c | 2 +- keyboards/ergo42/keymaps/biacco-biacco/keymap.c | 6 +++--- keyboards/ergo42/keymaps/biacco-macOS/keymap.c | 4 ++-- keyboards/ergo42/keymaps/biacco-underglow/keymap.c | 4 ++-- keyboards/ergo42/keymaps/biacco-winjp/keymap.c | 4 ++-- keyboards/ergo42/keymaps/biacco/keymap.c | 4 ++-- .../ergo42/keymaps/default-illustrator/keymap.c | 6 +++--- keyboards/ergo42/keymaps/default-underglow/keymap.c | 2 +- keyboards/ergo42/keymaps/default/keymap.c | 2 +- keyboards/ergo42/keymaps/koba/keymap.c | 4 ++-- keyboards/ergo42/keymaps/yshrsmz/keymap.c | 2 +- keyboards/ergodone/keymaps/default/keymap.c | 2 +- keyboards/ergodone/keymaps/eozaki/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/blakedietz/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/default/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/default_osx/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/kou/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/profet_80/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/steno/keymap.c | 2 +- keyboards/ergodox_infinity/keymaps/default/keymap.c | 2 +- .../ergodox_infinity/keymaps/input_club/keymap.c | 2 +- .../ergodox_infinity/keymaps/nordic_ergo/keymap.c | 12 ++++++------ .../ergodox_infinity/keymaps/trulyergonomic/keymap.c | 2 +- keyboards/handwired/dactyl/keymaps/default/keymap.c | 4 ++-- keyboards/handwired/dactyl/keymaps/dvorak/keymap.c | 4 ++-- keyboards/helix/pico/keymaps/biacco/keymap.c | 4 ++-- keyboards/hotdox/keymaps/default/keymap.c | 2 +- keyboards/hotdox/keymaps/eozaki/keymap.c | 2 +- keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c | 2 +- keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c | 2 +- keyboards/keebio/levinson/keymaps/atreus/keymap.c | 2 +- keyboards/planck/keymaps/gabriel/keymap.c | 2 +- keyboards/planck/keymaps/jeremy-dev/keymap.c | 4 ++-- keyboards/planck/keymaps/pete/keymap.c | 4 ++-- keyboards/planck/keymaps/tong92/keymap.c | 6 +++--- .../thevankeyboards/minivan/keymaps/tong92/keymap.c | 6 +++--- layouts/community/ergodox/absenth/keymap.c | 2 +- layouts/community/ergodox/adnw_k_o_y/keymap.c | 2 +- layouts/community/ergodox/albert/keymap.c | 2 +- layouts/community/ergodox/alexjj/keymap.c | 2 +- layouts/community/ergodox/bepo_csa/keymap.c | 6 +++--- layouts/community/ergodox/bryan/keymap.c | 6 +++--- layouts/community/ergodox/coderkun_neo2/keymap.c | 2 +- layouts/community/ergodox/colemak/keymap.c | 2 +- layouts/community/ergodox/colemak_osx_pc_no/keymap.c | 2 +- layouts/community/ergodox/dave/keymap.c | 4 ++-- layouts/community/ergodox/dragon788/keymap.c | 2 +- layouts/community/ergodox/dvorak/keymap.c | 2 +- .../community/ergodox/dvorak_intl_squisher/keymap.c | 4 ++-- .../community/ergodox/dvorak_programmer_swe/keymap.c | 2 +- layouts/community/ergodox/dvorak_svorak_a5/keymap.c | 2 +- layouts/community/ergodox/emacs_osx_dk/keymap.c | 2 +- layouts/community/ergodox/german-kinergo/keymap.c | 4 ++-- layouts/community/ergodox/german-lukas/keymap.c | 2 +- layouts/community/ergodox/german-manuneo/keymap.c | 4 ++-- layouts/community/ergodox/german-manuneo/keymap.md | 2 +- layouts/community/ergodox/german/keymap.c | 2 +- layouts/community/ergodox/jacobono/keymap.c | 6 +++--- layouts/community/ergodox/jafo/keymap.c | 2 +- layouts/community/ergodox/jgarr/keymap.c | 2 +- layouts/community/ergodox/mpiechotka/keymap.c | 4 ++-- layouts/community/ergodox/msc/keymap.c | 2 +- .../ergodox/norwegian_programmer_osx_pc/keymap.c | 2 +- .../norwegian_programmer_osx_pc_colemak/keymap.c | 2 +- layouts/community/ergodox/osx_fr/keymap.c | 4 ++-- layouts/community/ergodox/osx_kinesis_pnut/keymap.c | 2 +- layouts/community/ergodox/phoenix/keymap.c | 2 +- layouts/community/ergodox/plover/keymap.c | 4 ++-- .../community/ergodox/qwerty_code_friendly/keymap.c | 2 +- layouts/community/ergodox/sneako/keymap.c | 2 +- layouts/community/ergodox/software_neo2/keymap.c | 4 ++-- layouts/community/ergodox/swedish-lindhe/keymap.c | 2 +- layouts/community/ergodox/swedish/keymap.c | 2 +- layouts/community/ergodox/swissgerman/keymap.c | 12 ++++++------ layouts/community/ergodox/tkuichooseyou/keymap.c | 2 +- layouts/community/ergodox/tm2030/keymap.c | 10 +++++----- layouts/community/ergodox/tonyabra_osx/keymap.c | 2 +- layouts/community/ergodox/townk_osx/keymap.c | 2 +- layouts/community/ergodox/twey/keymap.c | 2 +- layouts/community/ergodox/videck/keymap.c | 2 +- layouts/community/ergodox/xyverz/keymap.c | 8 ++++---- layouts/community/ergodox/zweihander-macos/keymap.c | 2 +- quantum/quantum_keycodes.h | 2 -- 95 files changed, 149 insertions(+), 147 deletions(-) create mode 100644 docs/ChangeLog/20190830/PR6327.md diff --git a/docs/ChangeLog/20190830/PR6327.md b/docs/ChangeLog/20190830/PR6327.md new file mode 100644 index 000000000000..233e10e09162 --- /dev/null +++ b/docs/ChangeLog/20190830/PR6327.md @@ -0,0 +1,4 @@ +* Remove `KC_DELT` alias in favor of `KC_DEL` + * `KC_DELT` was a redundant, undocumented alias for `KC_DELETE` + * It has been removed and all its uses replaced with the more common `KC_DEL` alias + * Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result diff --git a/keyboards/adkb96/keymaps/default/keymap.c b/keyboards/adkb96/keymaps/default/keymap.c index c8198ab33594..a374ffb5e6ce 100644 --- a/keyboards/adkb96/keymaps/default/keymap.c +++ b/keyboards/adkb96/keymaps/default/keymap.c @@ -4,12 +4,12 @@ extern keymap_config_t keymap_config; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, XXXXXXX,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_DELT, + [0] = LAYOUT( + KC_ESC, XXXXXXX,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_ZKHK,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_JYEN,KC_BSPC,KC_BSPC, KC_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_ENT, KC_ENT, KC_CAPS,KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_BSLS,KC_ENT, KC_ENT, - KC_LSFT,KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_UP, KC_RSFT,KC_RSFT, + KC_LSFT,KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_UP, KC_RSFT,KC_RSFT, KC_LCTL,KC_LALT,KC_LGUI,KC_MHEN,KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_HENK,KC_KANA,KC_RALT,KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT,XXXXXXX ) }; diff --git a/keyboards/atreus/keymaps/classic/keymap.c b/keyboards/atreus/keymaps/classic/keymap.c index dce9dd96deee..3feeb97cfbc5 100644 --- a/keyboards/atreus/keymaps/classic/keymap.c +++ b/keyboards/atreus/keymaps/classic/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LW] = LAYOUT( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12 , KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, DF(_QW), KC_TRNS, KC_TRNS, RESET ), diff --git a/keyboards/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c index bbe4bb51afd2..95207f5c46ba 100644 --- a/keyboards/atreus/keymaps/default/keymap.c +++ b/keyboards/atreus/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_LW] = LAYOUT( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ) }; diff --git a/keyboards/atreus/keymaps/jeremy/keymap.c b/keyboards/atreus/keymaps/jeremy/keymap.c index baf506b9744b..e875af3ccacb 100644 --- a/keyboards/atreus/keymaps/jeremy/keymap.c +++ b/keyboards/atreus/keymaps/jeremy/keymap.c @@ -36,7 +36,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_0, KC_DOT, KC_EQL, KC_PLUS ), [CURS] = LAYOUT( - KC_TRNS, KC_BSPC, KC_UP, KC_DELT, KC_PGUP, KC_TRNS, KM_SAVE, KC_TRNS, KM_OPEN, KC_TRNS, + KC_TRNS, KC_BSPC, KC_UP, KC_DEL, KC_PGUP, KC_TRNS, KM_SAVE, KC_TRNS, KM_OPEN, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KM_UNDO, KC_LALT, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_MPLY, KM_REDO, KM_CLSE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TAB, KM_COPY, KM_CUT, KM_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/atreus/keymaps/nojjan/keymap.c b/keyboards/atreus/keymaps/nojjan/keymap.c index d0aa3b279a38..a6872f995225 100644 --- a/keyboards/atreus/keymaps/nojjan/keymap.c +++ b/keyboards/atreus/keymaps/nojjan/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_LW] = LAYOUT( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ) }; diff --git a/keyboards/atreus/keymaps/ptillemans/keymap.c b/keyboards/atreus/keymaps/ptillemans/keymap.c index 9019e9a8c049..ea4edeca7da9 100644 --- a/keyboards/atreus/keymaps/ptillemans/keymap.c +++ b/keyboards/atreus/keymaps/ptillemans/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_LW] = LAYOUT( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_TILD, KC_F1, KC_F2, KC_F3, KC_F12 , KC_NO, KC_VOLD, _______, _______, KC_MNXT, _______, _______, _______, TO(_QW), KC_PSCR, KC_SLCK, KC_MPLY ) diff --git a/keyboards/atreus62/keymaps/default/keymap.c b/keyboards/atreus62/keymaps/default/keymap.c index 06c7ae309e6b..95beab37674c 100644 --- a/keyboards/atreus62/keymaps/default/keymap.c +++ b/keyboards/atreus62/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_BSLS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC , KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT , KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LBRC , - KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, MO(_NAV),KC_BSPC, KC_DELT, KC_ENT, KC_SPC, KC_EQL, KC_MINS, KC_QUOT, KC_ENT, KC_RGUI + KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, MO(_NAV),KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_EQL, KC_MINS, KC_QUOT, KC_ENT, KC_RGUI ), [_NAV] = LAYOUT( diff --git a/keyboards/atreus62/keymaps/mneme/keymap.c b/keyboards/atreus62/keymaps/mneme/keymap.c index ba46d405ea62..e76751c335be 100644 --- a/keyboards/atreus62/keymaps/mneme/keymap.c +++ b/keyboards/atreus62/keymaps/mneme/keymap.c @@ -100,7 +100,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, KN_AO, OSM_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KN_OE, KN_AE, OSM_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KN_MINS, OSM_LSFT, - MO(NAV), OSM_LCTL, OSM_LALT, KC_LGUI, MO(SYM), KC_BSPC, KC_DELT, KC_ENT, KC_SPC, MO(SYM), KC_LEAD, KC_LALT, KC_LCTRL, KC_HYP + MO(NAV), OSM_LCTL, OSM_LALT, KC_LGUI, MO(SYM), KC_BSPC, KC_DEL, KC_ENT, KC_SPC, MO(SYM), KC_LEAD, KC_LALT, KC_LCTRL, KC_HYP ), [NAV] = LAYOUT( diff --git a/keyboards/bantam44/keymaps/default/keymap.c b/keyboards/bantam44/keymaps/default/keymap.c index 7f92da08d55c..430bdb850b5b 100644 --- a/keyboards/bantam44/keymaps/default/keymap.c +++ b/keyboards/bantam44/keymaps/default/keymap.c @@ -10,14 +10,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* LOWER */ [1] = LAYOUT( \ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT, \ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \ KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_ENT, \ KC_CAPS, KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_HOME, KC_PGUP, KC_RSFT, \ KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_TRNS, KC_END, KC_PGDN, KC_EXLM \ ), /* RAISE */ [2] = LAYOUT( \ - KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DELT, \ + KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \ KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_ENT, \ KC_CAPS, KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_UP, KC_RSFT, \ KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT \ diff --git a/keyboards/dz60/keymaps/marianas/keyDefinitions.h b/keyboards/dz60/keymaps/marianas/keyDefinitions.h index d3aac3dcbf45..7248c1f53581 100644 --- a/keyboards/dz60/keymaps/marianas/keyDefinitions.h +++ b/keyboards/dz60/keymaps/marianas/keyDefinitions.h @@ -12,7 +12,7 @@ #define PGUP KC_PGUP #define PGDN KC_PGDN #define END_ KC_END -#define DELT KC_DELETE +#define DEL KC_DELETE #define UPUP KC_UP #define D_WN KC_DOWN #define LEFT KC_LEFT diff --git a/keyboards/dz60/keymaps/marianas/keymap.c b/keyboards/dz60/keymaps/marianas/keymap.c index f86074b9c244..a0451b543575 100644 --- a/keyboards/dz60/keymaps/marianas/keymap.c +++ b/keyboards/dz60/keymaps/marianas/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [NAV_CLUSTER]= LAYOUT_60_ansi( _____, PSCR, SCRL, PAUS, NSRT, HOME, PGUP, NMLK, KSSH, STAR, KMIN, ____, ____, ______, - ______, ____, ____, ____, DELT, END_, PGDN, KP_7, KP_8, KP_9, PLUS, ____, ____, _____, + ______, ____, ____, ____, DEL, END_, PGDN, KP_7, KP_8, KP_9, PLUS, ____, ____, _____, _______, ____, ____, ____, ____, UPUP, UPUP, KP_4, KP_5, KP_6, PLUS, ____, ___________, ________, ____, ____, ____, LEFT, D_WN, RGHT, KP_1, KP_2, KP_3, KNTR, _________________, ____, ____, ____, /*-----------------*/KC_KP_0/*-----------------*/, KDOT, KNTR, ____, ____), diff --git a/keyboards/ergo42/keymaps/biacco-biacco/keymap.c b/keyboards/ergo42/keymaps/biacco-biacco/keymap.c index 9eaba22099f5..7cf40fa9a012 100644 --- a/keyboards/ergo42/keymaps/biacco-biacco/keymap.c +++ b/keyboards/ergo42/keymaps/biacco-biacco/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, TG(BIAC),LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, TG(BIAC),LT(SYMB, KC_ESC), RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ ), /* META @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_JYEN \ ), /* BIAC @@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_SCLN,KC_COMM, KC_DOT, KC_P, KC_Q, KC_RBRC, KC_BSLS, KC_Y, KC_G, KC_D, KC_M, KC_F, KC_LBRC, \ KC_LALT, KC_A, KC_O, KC_E, KC_I, KC_U, S(KC_8), S(KC_9), KC_B, KC_N, KC_T, KC_R, KC_S, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_W, S(KC_RBRC), S(KC_BSLS), KC_H, KC_J, KC_K, KC_L, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, _______, LT(BSYMB, KC_ESC),RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(BMETA, KC_ENT),KC_DELT, KC_PSCR, XXXXXXX, XXXXXXX, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, _______, LT(BSYMB, KC_ESC),RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(BMETA, KC_ENT),KC_DEL, KC_PSCR, XXXXXXX, XXXXXXX, KC_JYEN \ ), /* META diff --git a/keyboards/ergo42/keymaps/biacco-macOS/keymap.c b/keyboards/ergo42/keymaps/biacco-macOS/keymap.c index 8299eb701104..bc6a8557e8ce 100644 --- a/keyboards/ergo42/keymaps/biacco-macOS/keymap.c +++ b/keyboards/ergo42/keymaps/biacco-macOS/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), GUI_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), GUI_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ ), /* META @@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_JYEN \ ) }; diff --git a/keyboards/ergo42/keymaps/biacco-underglow/keymap.c b/keyboards/ergo42/keymaps/biacco-underglow/keymap.c index 3449192802ae..5b7fb7e66c2b 100644 --- a/keyboards/ergo42/keymaps/biacco-underglow/keymap.c +++ b/keyboards/ergo42/keymaps/biacco-underglow/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(RGB), KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(RGB), KC_JYEN \ ), /* META @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_JYEN \ ), /* RGB diff --git a/keyboards/ergo42/keymaps/biacco-winjp/keymap.c b/keyboards/ergo42/keymaps/biacco-winjp/keymap.c index 5dbca3bfc5a5..9d8284dbd2d5 100644 --- a/keyboards/ergo42/keymaps/biacco-winjp/keymap.c +++ b/keyboards/ergo42/keymaps/biacco-winjp/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ ), /* META @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_JYEN \ ) }; diff --git a/keyboards/ergo42/keymaps/biacco/keymap.c b/keyboards/ergo42/keymaps/biacco/keymap.c index a6cc610529a6..12e55b75f1ba 100644 --- a/keyboards/ergo42/keymaps/biacco/keymap.c +++ b/keyboards/ergo42/keymaps/biacco/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ ), /* META @@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_JYEN \ ) }; diff --git a/keyboards/ergo42/keymaps/default-illustrator/keymap.c b/keyboards/ergo42/keymaps/default-illustrator/keymap.c index 62af6b2ab112..3c57f7fc9345 100644 --- a/keyboards/ergo42/keymaps/default-illustrator/keymap.c +++ b/keyboards/ergo42/keymaps/default-illustrator/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, TG(ILLUST), LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(ILLUST), KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, TG(ILLUST), LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(ILLUST), KC_JYEN \ ), /* META @@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, XXXXXXX, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, XXXXXXX, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, XXXXXXX, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, XXXXXXX, KC_JYEN \ ), /* ILLUST @@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_H, KC_G, KC_I, KC_P, LCTL(KC_J), LCTL(KC_BSLS), _______, _______, _______, _______, _______, _______, _______, \ KC_LALT, KC_R, KC_S, KC_A, KC_V, S(KC_W), LCTL(KC_RBRC), _______, _______, _______, _______, _______, _______, _______, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F, _______, _______, _______, _______, _______, _______, _______, \ - KC_LCTRL, KC_LGUI, KC_APP, _______, KC_ESC, KC_RCTL, KC_DELT, _______, _______, _______, _______, XXXXXXX, _______, _______ \ + KC_LCTRL, KC_LGUI, KC_APP, _______, KC_ESC, KC_RCTL, KC_DEL, _______, _______, _______, _______, XXXXXXX, _______, _______ \ ) }; diff --git a/keyboards/ergo42/keymaps/default-underglow/keymap.c b/keyboards/ergo42/keymaps/default-underglow/keymap.c index 212d9138df08..d4e8f11087d0 100644 --- a/keyboards/ergo42/keymaps/default-underglow/keymap.c +++ b/keyboards/ergo42/keymaps/default-underglow/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = LAYOUT( \ KC_ESC, 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_BSPC, \ - KC_DELT, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RBRC, KC_ENT, \ + KC_DEL, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RBRC, KC_ENT, \ MO(RGB), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, \ KC_LGUI, KC_LCTL, KC_GRV, KC_BSLS, KC_LALT, MO(META), KC_SPC, KC_SPC, KC_QUOT, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT \ ), diff --git a/keyboards/ergo42/keymaps/default/keymap.c b/keyboards/ergo42/keymaps/default/keymap.c index f99ec5fb6676..7886e307fd8f 100644 --- a/keyboards/ergo42/keymaps/default/keymap.c +++ b/keyboards/ergo42/keymaps/default/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = LAYOUT( \ KC_ESC, 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_BSPC, \ - KC_DELT, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RBRC, KC_ENT, \ + KC_DEL, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RBRC, KC_ENT, \ MO(SYMB), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, \ KC_LGUI, KC_LCTL, KC_GRV, KC_BSLS, KC_LALT, MO(META), KC_SPC, KC_SPC, KC_QUOT, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT \ ), diff --git a/keyboards/ergo42/keymaps/koba/keymap.c b/keyboards/ergo42/keymaps/koba/keymap.c index 9bc504207fb1..091d7fb9aff7 100644 --- a/keyboards/ergo42/keymaps/koba/keymap.c +++ b/keyboards/ergo42/keymaps/koba/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------' `------------------------------------------------' */ [_WIN] = LAYOUT( \ - KC_ESC, KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_BSPC, \ + KC_ESC, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_BSPC, \ KC_TAB, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, KC_ENT, \ KC_ZKHK, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, \ FN, KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, LOWER, KC_SPC, KC_SPC, RAISE, KC_HENK, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT \ @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------' `------------------------------------------------' */ [_MACOS] = LAYOUT( \ - KC_ESC, KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_BSPC, \ + KC_ESC, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_BSPC, \ KC_TAB, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, KC_ENT, \ KC_CAPS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, \ FN, KC_LCTL, KC_LALT, KC_LGUI, KC_EISU, LOWER, KC_SPC, KC_SPC, RAISE, KC_KNA, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT \ diff --git a/keyboards/ergo42/keymaps/yshrsmz/keymap.c b/keyboards/ergo42/keymaps/yshrsmz/keymap.c index 55fe30e89b64..6239876bb13c 100644 --- a/keyboards/ergo42/keymaps/yshrsmz/keymap.c +++ b/keyboards/ergo42/keymaps/yshrsmz/keymap.c @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_JYEN \ ) }; diff --git a/keyboards/ergodone/keymaps/default/keymap.c b/keyboards/ergodone/keymaps/default/keymap.c index 28b393a3d8fc..2fc53440113e 100644 --- a/keyboards/ergodone/keymaps/default/keymap.c +++ b/keyboards/ergodone/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/keyboards/ergodone/keymaps/eozaki/keymap.c b/keyboards/ergodone/keymaps/eozaki/keymap.c index d29f4b763187..917790124f76 100644 --- a/keyboards/ergodone/keymaps/eozaki/keymap.c +++ b/keyboards/ergodone/keymaps/eozaki/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LSFT(KC_GRV), - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_GRV, + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_GRV, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, LT(SYMB, KC_F2), KC_F4, KC_F5, KC_F6, KC_F11, diff --git a/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c b/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c index 8facc6e92562..28f45bc3c21e 100644 --- a/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c +++ b/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(DEV), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(DEV), KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), ALT_T(KC_X), GUI_T(KC_C), KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, diff --git a/keyboards/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c index fb3d3896bf4e..4936ab42c33b 100644 --- a/keyboards/ergodox_ez/keymaps/default/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, diff --git a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c index 6388586de84d..3f52528f8b06 100644 --- a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/keyboards/ergodox_ez/keymaps/kou/keymap.c b/keyboards/ergodox_ez/keymaps/kou/keymap.c index 98fafe8ce62d..5e49dca25218 100644 --- a/keyboards/ergodox_ez/keymaps/kou/keymap.c +++ b/keyboards/ergodox_ez/keymaps/kou/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_DELT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_DEL, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, LT(NPAD, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_ESC, MO(SYMB), KC_LALT, KC_LGUI, MO(SYMB), KC_SPC, diff --git a/keyboards/ergodox_ez/keymaps/profet_80/keymap.c b/keyboards/ergodox_ez/keymaps/profet_80/keymap.c index 29505b641e59..85455fa9d9f9 100644 --- a/keyboards/ergodox_ez/keymaps/profet_80/keymap.c +++ b/keyboards/ergodox_ez/keymaps/profet_80/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox_80( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c index 384d7d0945f8..2c90c02a6b63 100644 --- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c +++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/keyboards/ergodox_ez/keymaps/steno/keymap.c b/keyboards/ergodox_ez/keymaps/steno/keymap.c index 45fc9f8ba99c..080d3f6cef0a 100644 --- a/keyboards/ergodox_ez/keymaps/steno/keymap.c +++ b/keyboards/ergodox_ez/keymaps/steno/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/keyboards/ergodox_infinity/keymaps/default/keymap.c b/keyboards/ergodox_infinity/keymaps/default/keymap.c index 28b393a3d8fc..2fc53440113e 100644 --- a/keyboards/ergodox_infinity/keymaps/default/keymap.c +++ b/keyboards/ergodox_infinity/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/keyboards/ergodox_infinity/keymaps/input_club/keymap.c b/keyboards/ergodox_infinity/keymaps/input_club/keymap.c index 064c01c55112..2aa74c4195b7 100644 --- a/keyboards/ergodox_infinity/keymaps/input_club/keymap.c +++ b/keyboards/ergodox_infinity/keymaps/input_club/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, KC_GRV, KC_BSLS, KC_LEFT, KC_RGHT, KC_LCTL, KC_LALT, KC_HOME, - KC_BSPC, KC_DELT, KC_END, + KC_BSPC, KC_DEL, KC_END, /* right hand * +-----+-----+-----+-----+-----+-----+-------+ * |LCK-2| 6 | 7 | 8 | 9 | 0 | - | diff --git a/keyboards/ergodox_infinity/keymaps/nordic_ergo/keymap.c b/keyboards/ergodox_infinity/keymaps/nordic_ergo/keymap.c index 156fd2f1987d..6a66b1d3fdd9 100644 --- a/keyboards/ergodox_infinity/keymaps/nordic_ergo/keymap.c +++ b/keyboards/ergodox_infinity/keymaps/nordic_ergo/keymap.c @@ -23,7 +23,7 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * - * + * * * ,--------------------------------------------------. ,--------------------------------------------------. * | Esc | 1 | 2 | 3 | 4 | 5 | §½ | | PRSC | 6 | 7 | 8 | 9 | 0 | - | @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_RBRC, KC_NONUS_BSLASH, KC_LALT, KC_LGUI, KC_LEFT, KC_RIGHT, KC_HOME, - KC_SPC,KC_DELT,KC_END, + KC_SPC,KC_DEL, KC_END, // right hand KC_PSCREEN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 1: Basic layer with functions * - * + * * * ,--------------------------------------------------. ,--------------------------------------------------. * | Esc | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | 0 | - | @@ -240,7 +240,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; } return true; -} +} // Runs just one time when the keyboard initializes. void matrix_init_user(void) { @@ -249,7 +249,7 @@ 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(); @@ -265,5 +265,5 @@ void matrix_scan_user(void) { default: // none break; - } + } }; diff --git a/keyboards/ergodox_infinity/keymaps/trulyergonomic/keymap.c b/keyboards/ergodox_infinity/keymaps/trulyergonomic/keymap.c index 882f2b3c0d5d..b288bd557729 100644 --- a/keyboards/ergodox_infinity/keymaps/trulyergonomic/keymap.c +++ b/keyboards/ergodox_infinity/keymaps/trulyergonomic/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LGUI, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_DELT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_DEL, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSPC, KC_LALT, KC_HOME, KC_PGUP, KC_PGDN, KC_END, diff --git a/keyboards/handwired/dactyl/keymaps/default/keymap.c b/keyboards/handwired/dactyl/keymaps/default/keymap.c index 07d958449262..47f5ba96ba2b 100644 --- a/keyboards/handwired/dactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/default/keymap.c @@ -34,8 +34,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = LAYOUT_dactyl( // layer 0 : default // left hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, 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, LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, diff --git a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c index 7c44f78a656b..cc6fc52e5aad 100644 --- a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c @@ -34,8 +34,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = LAYOUT_dactyl( // layer 0 : default // left hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_DEL, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, 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, LT(SYMB,KC_GRV), KC_EQL, LALT(KC_LSFT), KC_LEFT, KC_RGHT, diff --git a/keyboards/helix/pico/keymaps/biacco/keymap.c b/keyboards/helix/pico/keymaps/biacco/keymap.c index 36ef4394dd83..a1d041c022ff 100644 --- a/keyboards/helix/pico/keymaps/biacco/keymap.c +++ b/keyboards/helix/pico/keymaps/biacco/keymap.c @@ -52,7 +52,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_LBRC, \ KC_LALT, 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, SFT_T(KC_RO) , \ - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ + KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ ), /* META @@ -109,7 +109,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_LBRC, \ KC_LALT, 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, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_JYEN \ ) }; diff --git a/keyboards/hotdox/keymaps/default/keymap.c b/keyboards/hotdox/keymaps/default/keymap.c index 0ec7b352c15f..daba6c3000ca 100644 --- a/keyboards/hotdox/keymaps/default/keymap.c +++ b/keyboards/hotdox/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/keyboards/hotdox/keymaps/eozaki/keymap.c b/keyboards/hotdox/keymaps/eozaki/keymap.c index dc80e7a34e0c..3516f20303f5 100644 --- a/keyboards/hotdox/keymaps/eozaki/keymap.c +++ b/keyboards/hotdox/keymaps/eozaki/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LSFT(KC_GRV), - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_GRV, + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_GRV, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, LT(SYMB, KC_F2), KC_F4, KC_F5, KC_F6, KC_F11, diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c b/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c index b00805e9e793..3ce6afce2112 100644 --- a/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c +++ b/keyboards/kbdfans/kbd67/rev1/keymaps/koba/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------' `------------' */ [0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, KC_JYEN, KC_BSPC, KC_DELT, \ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, KC_JYEN, KC_BSPC, KC_DEL, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, JP_RBRC, KC_PGUP, \ KC_ZKHK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, KC_ENT, KC_PGDN, \ KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PSCR, \ diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c index b00805e9e793..3ce6afce2112 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/koba/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------------------------------------------------' `------------' */ [0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, KC_JYEN, KC_BSPC, KC_DELT, \ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, KC_JYEN, KC_BSPC, KC_DEL, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, JP_RBRC, KC_PGUP, \ KC_ZKHK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, KC_ENT, KC_PGDN, \ KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PSCR, \ diff --git a/keyboards/keebio/levinson/keymaps/atreus/keymap.c b/keyboards/keebio/levinson/keymaps/atreus/keymap.c index 61ad04ef7443..1eb12669ace0 100644 --- a/keyboards/keebio/levinson/keymaps/atreus/keymap.c +++ b/keyboards/keebio/levinson/keymaps/atreus/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_LW] = LAYOUT_ortho_4x12( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_NO, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_NO, KC_NO, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_NO, KC_NO, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ) }; diff --git a/keyboards/planck/keymaps/gabriel/keymap.c b/keyboards/planck/keymaps/gabriel/keymap.c index 96e4a17ee615..e0f74804f7da 100644 --- a/keyboards/planck/keymaps/gabriel/keymap.c +++ b/keyboards/planck/keymaps/gabriel/keymap.c @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------' */ [_FN] = { /* FUNCTION */ - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DELT}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL}, {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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} diff --git a/keyboards/planck/keymaps/jeremy-dev/keymap.c b/keyboards/planck/keymaps/jeremy-dev/keymap.c index 89b7e6b84ad6..de679a3fc0bd 100644 --- a/keyboards/planck/keymaps/jeremy-dev/keymap.c +++ b/keyboards/planck/keymaps/jeremy-dev/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P}, {KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH)}, - {CTL_T(KC_TAB), OSL(FKEY), OSL(NUMS), OSL(SYMB), KC_SPC, ALT_T(KC_BSPC), GUI_T(KC_DELT), KC_ENT, OSL(SYMB), OSL(CURS), TG(CURS), CTL_T(KC_ESC)} + {CTL_T(KC_TAB), OSL(FKEY), OSL(NUMS), OSL(SYMB), KC_SPC, ALT_T(KC_BSPC), GUI_T(KC_DEL), KC_ENT, OSL(SYMB), OSL(CURS), TG(CURS), CTL_T(KC_ESC)} }, [NUMS] = { {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_COMM, KC_7, KC_8, KC_9, KC_SLSH}, @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_NO, KC_NO, KC_TRNS, TG(NUMS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL, KC_PLUS} }, [CURS] = { - {KC_MPLY, KC_BSPC, KC_UP, KC_DELT, KC_PGUP, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO}, + {KC_MPLY, KC_BSPC, KC_UP, KC_DEL, KC_PGUP, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO}, {KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_NO, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT}, {KC_VOLD, KC_NO, MY_ABVE, MY_TERM, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT}, {KC_MUTE, KC_NO, MY_BELW, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_NO} diff --git a/keyboards/planck/keymaps/pete/keymap.c b/keyboards/planck/keymaps/pete/keymap.c index 2a9b66c42d8e..6f8f8579c190 100644 --- a/keyboards/planck/keymaps/pete/keymap.c +++ b/keyboards/planck/keymaps/pete/keymap.c @@ -92,13 +92,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {_______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______} }, [_MAC] = { /* Mac */ - {CYCLWIN,MACSLEEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_DELT}, + {CYCLWIN,MACSLEEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL }, {_______, MICMUTE, KC_MUTE, KC_VOLD, KC_VOLU, MACPRNT,MACPRNT2, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX}, {_______, BL_STEP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX}, {_______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDOWN,KC_PGUP,KC_END } }, [_WIN] = { /* Windows */ - {CYCLWIN,WINSLEEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_DELT}, + {CYCLWIN,WINSLEEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL }, {_______, MICMUTE, KC_MUTE, KC_VOLD, KC_VOLU, WINPRNT,WINPRNT2, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX}, {_______, BL_STEP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX}, {_______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDOWN,KC_PGUP,KC_END } diff --git a/keyboards/planck/keymaps/tong92/keymap.c b/keyboards/planck/keymaps/tong92/keymap.c index d85bd6e88218..bdde285690c1 100644 --- a/keyboards/planck/keymaps/tong92/keymap.c +++ b/keyboards/planck/keymaps/tong92/keymap.c @@ -110,10 +110,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------' */ [_WINDOW_SHORTCUT] ={ -{KC_ESC ,LALT(KC_F4) ,LGUI(KC_UP) ,XXXXXXX ,XXXXXXX ,S(KC_CAPS) ,XXXXXXX,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_DELT}, +{KC_ESC ,LALT(KC_F4) ,LGUI(KC_UP) ,XXXXXXX ,XXXXXXX ,S(KC_CAPS) ,XXXXXXX,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_DEL}, {_______,LGUI(KC_LEFT) ,LGUI(KC_DOWN) ,LGUI(KC_RIGHT) ,XXXXXXX ,LALT(KC_CAPS),KC_CAPS,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX,XXXXXXX}, {_______,LGUI(LSFT(KC_LEFT)),LGUI(LSFT(KC_RIGHT)),XXXXXXX ,XXXXXXX ,LCTL(KC_CAPS),KC_SLCK,KC_HOME,XXXXXXX,KC_END,XXXXXXX,XXXXXXX}, -{KC_TRNS,LGUI(LCTL(KC_LEFT)),LGUI(LCTL(KC_RIGHT)),LGUI(LCTL(KC_F4)),LCTL(LALT(KC_DELT)),LGUI(KC_SPC),LGUI(KC_SPC),XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,BACKLIT} +{KC_TRNS,LGUI(LCTL(KC_LEFT)),LGUI(LCTL(KC_RIGHT)),LGUI(LCTL(KC_F4)),LCTL(LALT(KC_DEL)),LGUI(KC_SPC),LGUI(KC_SPC),XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,BACKLIT} }, /* Mac Shortcut * ,-----------------------------------------------------------------------. @@ -127,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------' */ [_MAC_SHORTCUT] ={ -{KC_ESC ,LGUI(KC_UP) ,LGUI(KC_DOWN) ,XXXXXXX,XXXXXXX ,XXXXXXX,XXXXXXX,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_DELT}, +{KC_ESC ,LGUI(KC_UP) ,LGUI(KC_DOWN) ,XXXXXXX,XXXXXXX ,XXXXXXX,XXXXXXX,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_DEL}, {_______,LALT(LSFT(KC_LEFT)),LALT(LSFT(KC_RIGHT)),XXXXXXX,LGUI(LCTL(KC_F)),XXXXXXX,KC_CAPS,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX,XXXXXXX}, {_______,LGUI(LSFT(KC_LEFT)),LGUI(LSFT(KC_RIGHT)),XXXXXXX,XXXXXXX ,XXXXXXX,XXXXXXX,KC_HOME,XXXXXXX,KC_END,XXXXXXX,XXXXXXX}, {KC_TRNS,_______ ,_______ ,MOUSE ,MOUSE ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,BACKLIT} diff --git a/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c index 0c97954494c6..6f7167cbbe86 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c +++ b/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c @@ -112,10 +112,10 @@ XXXXXXX,_______,_______, _______,_______, KC_END, KC_LEFT, * `--------------------------------------------------------------------------' */ [_WINDOW_SHORTCUT] = LAYOUT_arrow( -KC_ESC ,LALT(KC_F4) ,LGUI(KC_UP) ,XXXXXXX ,XXXXXXX,S(KC_CAPS) ,XXXXXXX ,KC_PGUP,KC_UP ,KC_PGDN ,KC_PSCR,KC_DELT, +KC_ESC ,LALT(KC_F4) ,LGUI(KC_UP) ,XXXXXXX ,XXXXXXX,S(KC_CAPS) ,XXXXXXX ,KC_PGUP,KC_UP ,KC_PGDN ,KC_PSCR,KC_DEL, _______,LGUI(KC_LEFT) ,LGUI(KC_DOWN) ,LGUI(KC_RIGHT),XXXXXXX,LALT(KC_CAPS) ,KC_CAPS ,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX,XXXXXXX, _______,LGUI(LSFT(KC_LEFT)),LGUI(LSFT(KC_RIGHT)),XXXXXXX ,XXXXXXX,LCTL(KC_CAPS) ,KC_SLCK ,KC_HOME,XXXXXXX,KC_END ,XXXXXXX,KC_RCTL, -_______,LGUI(LCTL(KC_LEFT)),LGUI(LCTL(KC_RIGHT)), LCTL(LALT(KC_DELT)),LGUI(LCTL(KC_F4)), MOUSE ,XXXXXXX ,XXXXXXX,BACKLIT +_______,LGUI(LCTL(KC_LEFT)),LGUI(LCTL(KC_RIGHT)), LCTL(LALT(KC_DEL)) ,LGUI(LCTL(KC_F4)), MOUSE ,XXXXXXX ,XXXXXXX,BACKLIT ), /* Mac Shortcut * ,--------------------------------------------------------------------------. @@ -129,7 +129,7 @@ _______,LGUI(LCTL(KC_LEFT)),LGUI(LCTL(KC_RIGHT)), LCTL(LAL * `--------------------------------------------------------------------------' */ [_MAC_SHORTCUT] = LAYOUT_arrow( -KC_ESC ,LGUI(KC_UP) ,LGUI(KC_DOWN) ,XXXXXXX ,XXXXXXX,XXXXXXX ,XXXXXXX ,KC_PGUP,KC_UP ,KC_PGDN ,KC_PSCR,KC_DELT, +KC_ESC ,LGUI(KC_UP) ,LGUI(KC_DOWN) ,XXXXXXX ,XXXXXXX,XXXXXXX ,XXXXXXX ,KC_PGUP,KC_UP ,KC_PGDN ,KC_PSCR,KC_DEL, _______,LALT(LSFT(KC_LEFT)) ,LALT(LSFT(KC_RIGHT)) ,XXXXXXX,LGUI(LCTL(KC_F)),XXXXXXX ,KC_CAPS ,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX,XXXXXXX, _______,LGUI(LSFT(KC_LEFT)),LGUI(LSFT(KC_RIGHT)),XXXXXXX ,XXXXXXX,XXXXXXX ,XXXXXXX ,KC_HOME,XXXXXXX,KC_END ,XXXXXXX,KC_RCTL, _______,_______,_______, _______,_______, MOUSE ,XXXXXXX ,XXXXXXX,BACKLIT diff --git a/layouts/community/ergodox/absenth/keymap.c b/layouts/community/ergodox/absenth/keymap.c index e4f1ec901a6a..d84b68f0ef67 100644 --- a/layouts/community/ergodox/absenth/keymap.c +++ b/layouts/community/ergodox/absenth/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), KC_BSPC, LT(MDIA, KC_A), KC_S, KC_D, KC_F, KC_G, KC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/layouts/community/ergodox/adnw_k_o_y/keymap.c b/layouts/community/ergodox/adnw_k_o_y/keymap.c index 8a0e47026ed2..59ae2681f3f4 100644 --- a/layouts/community/ergodox/adnw_k_o_y/keymap.c +++ b/layouts/community/ergodox/adnw_k_o_y/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, DE_K, DE_DOT, DE_O, DE_COMM,DE_Y, TG(SYMB), + KC_DEL, DE_K, DE_DOT, DE_O, DE_COMM,DE_Y, TG(SYMB), KC_BSPC, DE_H, DE_A, DE_E, DE_I, DE_U, KC_LSFT, CTL_T(DE_X), DE_Q, DE_AE, DE_UE, DE_OE, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/layouts/community/ergodox/albert/keymap.c b/layouts/community/ergodox/albert/keymap.c index c1b47312fef0..8b73424d4536 100644 --- a/layouts/community/ergodox/albert/keymap.c +++ b/layouts/community/ergodox/albert/keymap.c @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { CTL_T(KC_SPC), ALT_T(KC_BSPC), LT(KEYW, KC_END), // right hand LSFT(KC_RGHT), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - MO(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DELT, + MO(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(NUMB, KC_ENT), MO(EMAC), LT(MOUS, KC_N), LT(CRSR, KC_M), KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_DOWN, KC_MINS, ALT_T(KC_LBRC), CTL_T(KC_RBRC), diff --git a/layouts/community/ergodox/alexjj/keymap.c b/layouts/community/ergodox/alexjj/keymap.c index 5f4f85cd431a..64e7c94433c9 100644 --- a/layouts/community/ergodox/alexjj/keymap.c +++ b/layouts/community/ergodox/alexjj/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_DOWN,KC_UP, ALL_T(KC_NO),KC_GRV, KC_RCTRL, KC_F2, TT(MDIA), KC_INS, - KC_DELT,TT(SYMB), KC_SPC + KC_DEL,TT(SYMB), KC_SPC ), /* Keymap 1: Symbol Layer * diff --git a/layouts/community/ergodox/bepo_csa/keymap.c b/layouts/community/ergodox/bepo_csa/keymap.c index 8dfb95a337cd..c6d4f628ff21 100644 --- a/layouts/community/ergodox/bepo_csa/keymap.c +++ b/layouts/community/ergodox/bepo_csa/keymap.c @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [LR_BASE] = LAYOUT_ergodox( // layer 0 : default // left hand - BP_DLR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELT, + BP_DLR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_TAB, BP_B, BP_ECUT, BP_P, BP_O, BP_EGRV, KC_BSPC, BP_EQL, BP_A, BP_U, BP_I, BP_E, BP_COMM, KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_ENT, @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_SPC, KC_HOME, KC_PGDN, // right hand - KC_DELT, KC_6, KC_7, KC_8, KC_9, KC_0, BP_W, + KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, BP_W, KC_BSPC, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, KC_ENT, BP_APOS, BP_Q, BP_G, BP_H, BP_F, KC_RSFT, @@ -342,7 +342,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TG(LR_CSA), 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_VOLU, RESET, KC_TRNS, KC_TRNS, KC_CALC, KC_MAIL, KC_WHOM, - KC_TRNS, KC_APP, S(KC_DELT), LCTL(KC_INS),S(KC_INS), KC_MUTE, KC_VOLD, + KC_TRNS, KC_APP, S(KC_DEL), LCTL(KC_INS),S(KC_INS), KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/layouts/community/ergodox/bryan/keymap.c b/layouts/community/ergodox/bryan/keymap.c index 5e74c9126291..acae77d5fcf0 100644 --- a/layouts/community/ergodox/bryan/keymap.c +++ b/layouts/community/ergodox/bryan/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * |Ctrl/Esc|PgUp| | App | LGui | + * |Ctrl/Esc|PgUp| | App | LGui | * ,------|------|------| |------+--------+------. * | | | PgDn | | Home | | | * | Space|Backsp|------| |------| Tab |Enter | @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, M(2), - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), GUI_T(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, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB), - + ALT_T(KC_APP), KC_LGUI, KC_HOME, KC_LALT,KC_TAB, KC_ENT diff --git a/layouts/community/ergodox/coderkun_neo2/keymap.c b/layouts/community/ergodox/coderkun_neo2/keymap.c index 0c70dbb5d074..d1fcea9c912f 100644 --- a/layouts/community/ergodox/coderkun_neo2/keymap.c +++ b/layouts/community/ergodox/coderkun_neo2/keymap.c @@ -196,7 +196,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [NHL] = LAYOUT_ergodox( // left hand KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_PGUP,KC_BSPC,KC_UP, KC_DELT,KC_PGDN,KC_NO, + KC_NO, KC_PGUP,KC_BSPC,KC_UP, KC_DEL, KC_PGDN,KC_NO, KC_NO, KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_END, KC_NO, KC_ESC, KC_TAB, KC_INS, KC_ENT, KC_UNDO,KC_TRNS, KC_NO, KC_NO, KC_TRNS,KC_NO, KC_TRNS, diff --git a/layouts/community/ergodox/colemak/keymap.c b/layouts/community/ergodox/colemak/keymap.c index 7330eda1404f..83c77e4a343c 100644 --- a/layouts/community/ergodox/colemak/keymap.c +++ b/layouts/community/ergodox/colemak/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(SYMB), KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/layouts/community/ergodox/colemak_osx_pc_no/keymap.c b/layouts/community/ergodox/colemak_osx_pc_no/keymap.c index 11967703730d..189ff5c43d4f 100644 --- a/layouts/community/ergodox/colemak_osx_pc_no/keymap.c +++ b/layouts/community/ergodox/colemak_osx_pc_no/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_UNDS, KC_LEFT, KC_ESC, KC_FN7, KC_HASH, MO(2), KC_INSERT, NO_SLSH, - KC_DELT, + KC_DEL, KC_BSPC,KC_ENT,KC_SPC ), /* Keymap 1: Basic layer MACS (Same as pc, except for cmd/ctrl, which are swapped) diff --git a/layouts/community/ergodox/dave/keymap.c b/layouts/community/ergodox/dave/keymap.c index 4287496479b4..f47f881425db 100644 --- a/layouts/community/ergodox/dave/keymap.c +++ b/layouts/community/ergodox/dave/keymap.c @@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [NAVI] = LAYOUT_ergodox( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_INS, KC_PGUP, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELT, KC_PGDN, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_PGDN, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, @@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // right hand KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_WBAK, KC_DELT, KC_WFWD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_WBAK, KC_DEL, KC_WFWD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/layouts/community/ergodox/dragon788/keymap.c b/layouts/community/ergodox/dragon788/keymap.c index c0c2134774eb..7377128ecc01 100644 --- a/layouts/community/ergodox/dragon788/keymap.c +++ b/layouts/community/ergodox/dragon788/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TT(SYMB), KC_GRV, KC_QUOT,KC_LEFT, LT(MDIA, KC_RGHT), KC_APP, KC_HOME, KC_END, - KC_BSPC,KC_DELT,KC_LALT, + KC_BSPC,KC_DEL, KC_LALT, // right hand TG(3), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(2), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, diff --git a/layouts/community/ergodox/dvorak/keymap.c b/layouts/community/ergodox/dvorak/keymap.c index b161358c14ab..4d8483f54474 100644 --- a/layouts/community/ergodox/dvorak/keymap.c +++ b/layouts/community/ergodox/dvorak/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1), + KC_DEL, 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, diff --git a/layouts/community/ergodox/dvorak_intl_squisher/keymap.c b/layouts/community/ergodox/dvorak_intl_squisher/keymap.c index 83cee0d06f55..98e288516b9d 100644 --- a/layouts/community/ergodox/dvorak_intl_squisher/keymap.c +++ b/layouts/community/ergodox/dvorak_intl_squisher/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_WBAK, - KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_DELT, + KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_DEL, 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_LALT, KC_LGUI, KC_LEFT,KC_RGHT, @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TG(2), KC_PSCREEN, KC_PGUP, KC_PGDN,RALT(KC_RSFT), KC_ENT - ), + ), /* Keymap 1: Symbol & Media Layer * * ,--------------------------------------------------. ,--------------------------------------------------. diff --git a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c index 9b8885b70d25..bb27f18e809b 100644 --- a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c +++ b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand MO(DEVL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, SE_MINS, KC_COMM, KC_DOT, KC_P, KC_Y, TG(SYMB), + KC_DEL, SE_MINS, KC_COMM, KC_DOT, KC_P, KC_Y, TG(SYMB), KC_LGUI, KC_A, KC_O, KC_E, KC_U, KC_I, KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, TG(MDIA), CTL_T(KC_NO), MO(SYMB), KC_LALT, KC_LEFT,KC_RGHT, diff --git a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c index f558c6c4bea2..4ca20bd48c71 100644 --- a/layouts/community/ergodox/dvorak_svorak_a5/keymap.c +++ b/layouts/community/ergodox/dvorak_svorak_a5/keymap.c @@ -170,7 +170,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, KC_H, KC_J, KC_K, KC_L, SE_OSLH, SE_AE, - KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, + KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_PGUP, diff --git a/layouts/community/ergodox/emacs_osx_dk/keymap.c b/layouts/community/ergodox/emacs_osx_dk/keymap.c index 8f4c010afe3a..c34d9f65b006 100644 --- a/layouts/community/ergodox/emacs_osx_dk/keymap.c +++ b/layouts/community/ergodox/emacs_osx_dk/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_RALT, MO(SYMB), KC_LCTRL, KC_LEFT,KC_RGHT,KC_LALT, - KC_DELT,KC_INS, + KC_DEL, KC_INS, KC_HOME, KC_SPC,KC_BSPC,KC_END, // right hand diff --git a/layouts/community/ergodox/german-kinergo/keymap.c b/layouts/community/ergodox/german-kinergo/keymap.c index 7e1e5bf82b79..20651df0fbb3 100644 --- a/layouts/community/ergodox/german-kinergo/keymap.c +++ b/layouts/community/ergodox/german-kinergo/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, DE_CIRC, DE_LESS, KC_LEFT, KC_RIGHT, KC_LCTRL, KC_LALT, KC_HOME, - KC_BSPC,KC_DELT,KC_END, + KC_BSPC,KC_DEL,KC_END, // right hand KC_PSCREEN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, MO(1), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // [BASE] = LAYOUT_ergodox( // layer 0 : default // // left hand // KC_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, -// KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), +// KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), // KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, // KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), // LT(SYMB,DE_LESS),CTL_T(DE_HASH), DE_ACUT, DE_MINS, DE_PLUS, diff --git a/layouts/community/ergodox/german-lukas/keymap.c b/layouts/community/ergodox/german-lukas/keymap.c index e0cdf25c6e73..373a1e0440a0 100644 --- a/layouts/community/ergodox/german-lukas/keymap.c +++ b/layouts/community/ergodox/german-lukas/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, DE_CIRC, DE_LESS, KC_LEFT, KC_RIGHT, KC_LCTRL, KC_LALT, KC_HOME, - KC_SPC ,KC_DELT,KC_END, + KC_SPC ,KC_DEL,KC_END, // right hand KC_PSCREEN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(MDIA), DE_Z, KC_U, KC_I, KC_O, KC_P, LT(SHRT,DE_UE), diff --git a/layouts/community/ergodox/german-manuneo/keymap.c b/layouts/community/ergodox/german-manuneo/keymap.c index 9198bf6e30f9..d1e48e11025b 100644 --- a/layouts/community/ergodox/german-manuneo/keymap.c +++ b/layouts/community/ergodox/german-manuneo/keymap.c @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | |LGUI|LALT|LCTL| !RCTL|RALT|LEFT|DOWN|RGHT| * '------------------------' '------------------------' * .-----------. .-----------. - * |INS |TG(2)| !M(UM)|DELT | + * |INS |TG(2)| !M(UM)|DEL | * .-----+-----+-----! !-----+-----+-----. * ! ! | APP | ! PGUP| ! ! * ! ! !-----! !-----! ! ! @@ -142,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /*-*/ DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS, KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y, /*-*/ /*-*/ KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, - M(UM), KC_DELT, + M(UM), KC_DEL, KC_PGUP, KC_PGDN, KC_ENTER, KC_SPACE ), diff --git a/layouts/community/ergodox/german-manuneo/keymap.md b/layouts/community/ergodox/german-manuneo/keymap.md index c59f16a00cf1..3f476ad2a0d8 100644 --- a/layouts/community/ergodox/german-manuneo/keymap.md +++ b/layouts/community/ergodox/german-manuneo/keymap.md @@ -43,7 +43,7 @@ Tested with python 2.7 and python 3.4 | | |LGUI|LALT|LCTL| !RCTL|RALT|LEFT|DOWN|RGHT| '------------------------' '------------------------' .-----------. .-----------. - |INS |TG(2)| !M(UM)|DELT | + |INS |TG(2)| !M(UM)|DEL | .-----+-----+-----! !-----+-----+-----. ! ! | APP | ! PGUP| ! ! ! ! !-----! !-----! ! ! diff --git a/layouts/community/ergodox/german/keymap.c b/layouts/community/ergodox/german/keymap.c index a379b24ca38e..83ead2eb247b 100644 --- a/layouts/community/ergodox/german/keymap.c +++ b/layouts/community/ergodox/german/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,DE_LESS),CTL_T(DE_HASH), DE_ACUT, DE_MINS, DE_PLUS, diff --git a/layouts/community/ergodox/jacobono/keymap.c b/layouts/community/ergodox/jacobono/keymap.c index 8d80e349ba8f..62858f8dd09c 100644 --- a/layouts/community/ergodox/jacobono/keymap.c +++ b/layouts/community/ergodox/jacobono/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LGUI(S(KC_SPC)), KC_SPC,KC_ENT,MO(NUMPAD), // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT, + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TAB, KC_H, KC_N, KC_E, KC_I, KC_O, KC_DEL, LGUI(KC_TAB), KC_K, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, @@ -83,11 +83,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_TRNS, KC_QUOT, LALT(KC_LSFT), KC_LEFT, MO(SYMB), - KC_TAB, KC_DELT, + KC_TAB, KC_DEL, KC_HOME, KC_SPC, KC_LGUI, KC_END, // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT, + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), KC_RCTRL, KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, diff --git a/layouts/community/ergodox/jafo/keymap.c b/layouts/community/ergodox/jafo/keymap.c index 08ea16d4bbee..4737ab710d49 100644 --- a/layouts/community/ergodox/jafo/keymap.c +++ b/layouts/community/ergodox/jafo/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), GUI_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(MDIA), - LT(SYMB,KC_GRV),KC_QUOT, KC_DELT, KC_LEFT,KC_RGHT, + LT(SYMB,KC_GRV),KC_QUOT, KC_DEL, KC_LEFT,KC_RGHT, CTL_T(KC_ESC), KC_LALT, KC_HOME, KC_SPC,KC_BSPC,KC_END, diff --git a/layouts/community/ergodox/jgarr/keymap.c b/layouts/community/ergodox/jgarr/keymap.c index 37524dfa0860..84b573aca298 100644 --- a/layouts/community/ergodox/jgarr/keymap.c +++ b/layouts/community/ergodox/jgarr/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELT, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1), CTL_T(KC_ESC), 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), diff --git a/layouts/community/ergodox/mpiechotka/keymap.c b/layouts/community/ergodox/mpiechotka/keymap.c index cfd5b195e281..a673d0bd8aae 100644 --- a/layouts/community/ergodox/mpiechotka/keymap.c +++ b/layouts/community/ergodox/mpiechotka/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(SYMB), KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE_CM] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, CM_Q, CM_W, CM_F, CM_P, CM_G, TG(SYMB), + KC_DEL, CM_Q, CM_W, CM_F, CM_P, CM_G, TG(SYMB), KC_ESC, CM_A, CM_R, CM_S, CM_T, CM_D, KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, KC_EQL, LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, diff --git a/layouts/community/ergodox/msc/keymap.c b/layouts/community/ergodox/msc/keymap.c index c64c92c9c848..62c2ec7b53c2 100644 --- a/layouts/community/ergodox/msc/keymap.c +++ b/layouts/community/ergodox/msc/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), KC_LGUI,KC_LALT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c b/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c index afadf13ff608..63fea6e1c16a 100644 --- a/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c +++ b/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { NO_EQL, KC_N, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2), KC_INSERT, KC_PERC, - KC_DELT, + KC_DEL, KC_BSPC,KC_ENT,KC_SPC ), /* Keymap 1: Basic layer MACS (Same as pc, except for cmd/ctrl, which are swapped) diff --git a/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c b/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c index 10b7df642be7..cb61ce59cb8b 100644 --- a/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c +++ b/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2), KC_INSERT, KC_PERC, - KC_DELT, + KC_DEL, KC_BSPC,KC_ENT,KC_SPC ), /* Keymap 1: Basic layer MAC (Same as pc, except for cmd/ctrl, which are swapped) diff --git a/layouts/community/ergodox/osx_fr/keymap.c b/layouts/community/ergodox/osx_fr/keymap.c index b1876d6a8edd..dba9bf32bec6 100644 --- a/layouts/community/ergodox/osx_fr/keymap.c +++ b/layouts/community/ergodox/osx_fr/keymap.c @@ -35,14 +35,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand FR_MINS, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_LEFT, - KC_DELT, FR_A, FR_Z, KC_E, KC_R, KC_T, TG(1), + KC_DEL, FR_A, FR_Z, KC_E, KC_R, KC_T, TG(1), KC_BSPC, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(FR_W), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,FR_UGRV), FR_LESS, 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, FR_SECT, FR_EGRV, FR_EXLM, FR_CCED, FR_AGRV, FR_RPRN, TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, FR_GRV, diff --git a/layouts/community/ergodox/osx_kinesis_pnut/keymap.c b/layouts/community/ergodox/osx_kinesis_pnut/keymap.c index 5b731a1c006c..21e383bd266d 100644 --- a/layouts/community/ergodox/osx_kinesis_pnut/keymap.c +++ b/layouts/community/ergodox/osx_kinesis_pnut/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LALT(KC_LSFT), LT(SYMB,KC_GRV),KC_QUOT,KC_LEFT,KC_RGHT, KC_LGUI, ALT_T(KC_APP), KC_HOME, - KC_BSPC,KC_DELT,KC_END, + KC_BSPC,KC_DEL,KC_END, // right hand KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, diff --git a/layouts/community/ergodox/phoenix/keymap.c b/layouts/community/ergodox/phoenix/keymap.c index 31a987b356ac..b9be7e2b8977 100644 --- a/layouts/community/ergodox/phoenix/keymap.c +++ b/layouts/community/ergodox/phoenix/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_END, KC_SPC,KC_BSPC,KC_LGUI, // right hand - KC_DELT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(SYMB), 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), MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, diff --git a/layouts/community/ergodox/plover/keymap.c b/layouts/community/ergodox/plover/keymap.c index 9f19ab24c412..0ab60ffbb89d 100644 --- a/layouts/community/ergodox/plover/keymap.c +++ b/layouts/community/ergodox/plover/keymap.c @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_HOME, - KC_END, - KC_BSPC,KC_DELT,KC_LALT, + KC_END, + KC_BSPC,KC_DEL,KC_LALT, // right hand KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(3), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, diff --git a/layouts/community/ergodox/qwerty_code_friendly/keymap.c b/layouts/community/ergodox/qwerty_code_friendly/keymap.c index 5f4ed3c19dea..f2aa255a4c22 100644 --- a/layouts/community/ergodox/qwerty_code_friendly/keymap.c +++ b/layouts/community/ergodox/qwerty_code_friendly/keymap.c @@ -41,7 +41,7 @@ # define CFQ_USER_KEY4 KC_BSPC #endif #if !defined(CFQ_USER_KEY5) -# define CFQ_USER_KEY5 KC_DELT +# define CFQ_USER_KEY5 KC_DEL #endif #if !defined(CFQ_USER_KEY6) # define CFQ_USER_KEY6 KC_CAPS diff --git a/layouts/community/ergodox/sneako/keymap.c b/layouts/community/ergodox/sneako/keymap.c index 5add317e16bb..313e597d7b7a 100644 --- a/layouts/community/ergodox/sneako/keymap.c +++ b/layouts/community/ergodox/sneako/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand 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, TG(1), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, diff --git a/layouts/community/ergodox/software_neo2/keymap.c b/layouts/community/ergodox/software_neo2/keymap.c index 7ec4f7b8382a..73e0694ba00e 100644 --- a/layouts/community/ergodox/software_neo2/keymap.c +++ b/layouts/community/ergodox/software_neo2/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand - KC_DELT, NEO_1, NEO_2, NEO_3, NEO_4, NEO_5, KC_MPLY, + KC_DEL, NEO_1, NEO_2, NEO_3, NEO_4, NEO_5, KC_MPLY, KC_TAB, NEO_X, NEO_V, NEO_L, NEO_C, NEO_W, KC_ESC, NEO_L1_L, NEO_U, NEO_I, NEO_A, NEO_E, NEO_O, KC_LSFT, CTL_T(NEO_UE), GUI_T(NEO_OE), ALT_T(NEO_AE), NEO_P, NEO_Z, TG(1), @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TG(1), NEO_B, NEO_M, NEO_COMM, NEO_DOT, NEO_J, KC_RSFT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, NEO_L2_R, KC_LALT,KC_RGUI, - KC_DELT, + KC_DEL, KC_ESC,KC_ENT, KC_SPC ), /* Keymap 1: Media and mouse keys diff --git a/layouts/community/ergodox/swedish-lindhe/keymap.c b/layouts/community/ergodox/swedish-lindhe/keymap.c index 5dd5c4d87dc2..1b16c31d4d10 100644 --- a/layouts/community/ergodox/swedish-lindhe/keymap.c +++ b/layouts/community/ergodox/swedish-lindhe/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MS_BTN3, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, KC_H, KC_J, KC_K, KC_L, SE_OSLH, SE_AE, - KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, + KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_PGUP, diff --git a/layouts/community/ergodox/swedish/keymap.c b/layouts/community/ergodox/swedish/keymap.c index d05dc6cc6669..454dcc35cc12 100644 --- a/layouts/community/ergodox/swedish/keymap.c +++ b/layouts/community/ergodox/swedish/keymap.c @@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), 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, ALL_T(KC_NO), LT(SYMB,SE_APOS), SE_ACUT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, diff --git a/layouts/community/ergodox/swissgerman/keymap.c b/layouts/community/ergodox/swissgerman/keymap.c index b32fa4c2a421..8ba9582934bc 100644 --- a/layouts/community/ergodox/swissgerman/keymap.c +++ b/layouts/community/ergodox/swissgerman/keymap.c @@ -47,15 +47,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | ' | + * | § | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | ' | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Del | Q | W | E | R | T | L1 | | L1 | Z | U | I | O | P | | + * | Del | Q | W | E | R | T | L1 | | L1 | Z | U | I | O | P | ü | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSp | A /L2| S | D | F | G |------| |------| H | J | K | L | / L2| / Cmd | + * | BkSp | A /L2| S | D | F | G |------| |------| H | J | K | L |ö / L2|ä / Cmd | * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| * | LShift |Y/Ctrl|X/Alt | C | V | B | | | | N | M | , |./Alt |-/Ctrl| RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |< / L1| ^ | $ | Left | Right| | Up | Down |AltGr | | ~L1 | + * |< / L1| ^ | $ | Left | Right| | Up | Down |AltGr | ¨ | ~L1 | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | App | LGui | | Alt |Ctrl/Esc| @@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), KC_BSPC, LT(MDIA, KC_A),KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), ALT_T(KC_X), KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_NONUS_BSLASH), KC_EQL, KC_BSLS, KC_LEFT,KC_RGHT, @@ -270,7 +270,7 @@ void send_key(uint16_t keycode) { void go_back_based_on_tag(char* tag) { const int BRACKETS_AND_SLASH_LENGTH = 3; - + for (int i=0; i < strlen(tag) + BRACKETS_AND_SLASH_LENGTH; i++) { send_key(KC_LEFT); } diff --git a/layouts/community/ergodox/tkuichooseyou/keymap.c b/layouts/community/ergodox/tkuichooseyou/keymap.c index 4dbf8be585fe..9141cd1c74ac 100644 --- a/layouts/community/ergodox/tkuichooseyou/keymap.c +++ b/layouts/community/ergodox/tkuichooseyou/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_QUOT, KC_LGUI, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB), - KC_DELT, CTL_T(KC_ESC), + KC_DEL, CTL_T(KC_ESC), KC_PGUP, KC_PGDN,KC_TAB, KC_ENT ), diff --git a/layouts/community/ergodox/tm2030/keymap.c b/layouts/community/ergodox/tm2030/keymap.c index 1259a18ff266..3f8280037725 100644 --- a/layouts/community/ergodox/tm2030/keymap.c +++ b/layouts/community/ergodox/tm2030/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELT, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_SPC, KC_LSFT, KC_PGDN, // right hand - KC_DELT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, + KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, SFT_T(KC_QUOT), KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_BSLS), @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [DVRK] = LAYOUT_ergodox( // layer 0 : default // left hand - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELT, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BSPC, KC_LSFT, KC_A, KC_O, KC_E, KC_U, KC_I, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_ENT, @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_SPC, KC_LSFT, KC_PGDN, // right hand - KC_DELT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_BSPC, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_D, KC_H, KC_T, KC_N, KC_S, SFT_T(KC_MINS), KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_BSLS), @@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MAIL, KC_WHOM, - KC_TRNS, KC_TRNS, LSFT(KC_DELT),LCTL(KC_INS),LSFT(KC_INS), KC_MUTE, KC_VOLD, + KC_TRNS, KC_TRNS, LSFT(KC_DEL), LCTL(KC_INS),LSFT(KC_INS), KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/layouts/community/ergodox/tonyabra_osx/keymap.c b/layouts/community/ergodox/tonyabra_osx/keymap.c index 4f174a69de7c..469c2194407b 100644 --- a/layouts/community/ergodox/tonyabra_osx/keymap.c +++ b/layouts/community/ergodox/tonyabra_osx/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, TG(SYMB), KC_GRV, KC_LBRC, KC_RBRC,KC_QUOT, - KC_DELT,KC_LALT, + KC_DEL, KC_LALT, KC_HOME, KC_SPC,KC_BSPC,KC_END, // right hand diff --git a/layouts/community/ergodox/townk_osx/keymap.c b/layouts/community/ergodox/townk_osx/keymap.c index a6097d9a3e0c..e36d71432d1e 100644 --- a/layouts/community/ergodox/townk_osx/keymap.c +++ b/layouts/community/ergodox/townk_osx/keymap.c @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_FN1, TG(KEYPAD), KC_LCTRL, KC_LALT, KC_LGUI, M_TESC, M_TPASTE, KC_HOME, - KC_BSPC, KC_DELT, KC_END, + KC_BSPC, KC_DEL, KC_END, //right half KC_POWER, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, MEH_T(KC_F17), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL, diff --git a/layouts/community/ergodox/twey/keymap.c b/layouts/community/ergodox/twey/keymap.c index 0cc98ca77b89..dac153f070cf 100644 --- a/layouts/community/ergodox/twey/keymap.c +++ b/layouts/community/ergodox/twey/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(STEN), - KC_DELT, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_ESC, + KC_DEL, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_ESC, KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_TAB, MO(SYMB), KC_NO, KC_GRV, KC_LEFT,KC_RGHT, diff --git a/layouts/community/ergodox/videck/keymap.c b/layouts/community/ergodox/videck/keymap.c index 1229469d717d..7058d9344767 100644 --- a/layouts/community/ergodox/videck/keymap.c +++ b/layouts/community/ergodox/videck/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_PGDN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(TD_R), + KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(TD_R), KC_LBRC, KC_RBRC, KC_EQL, KC_RALT, KC_RCTL, KC_APP, KC_ESC, KC_INS, diff --git a/layouts/community/ergodox/xyverz/keymap.c b/layouts/community/ergodox/xyverz/keymap.c index eeeded47fcfd..3131c30640be 100644 --- a/layouts/community/ergodox/xyverz/keymap.c +++ b/layouts/community/ergodox/xyverz/keymap.c @@ -1,6 +1,6 @@ /* * About this keymap: - * + * * 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. @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QW] = LAYOUT_ergodox( // left hand 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, XXXXXXX, + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MD), KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, @@ -138,10 +138,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | End | | PgDn | | | * `--------------------' `--------------------' */ -[_CM] = LAYOUT_ergodox( +[_CM] = LAYOUT_ergodox( // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_F, KC_P, KC_G, XXXXXXX, + KC_DEL, KC_Q, KC_W, KC_F, KC_P, KC_G, XXXXXXX, KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MD), KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, diff --git a/layouts/community/ergodox/zweihander-macos/keymap.c b/layouts/community/ergodox/zweihander-macos/keymap.c index f64808c4d27e..93a435efb10e 100644 --- a/layouts/community/ergodox/zweihander-macos/keymap.c +++ b/layouts/community/ergodox/zweihander-macos/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB), - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB), KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, KC_LCTL, KC_LALT, KC_LGUI,KC_LEFT,KC_RGHT, diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index bb16da4d5002..6fe9807988a0 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -600,8 +600,6 @@ enum quantum_keycodes { #define KC_DOUBLE_QUOTE KC_DQT #define KC_DQUO KC_DQT -#define KC_DELT KC_DELETE // Del key (four letter code) - // Alias for function layers than expand past FN31 #define FUNC(kc) (QK_FUNCTION | (kc)) From 3619678b10c772c15dd348dce3d2991e178d7a3d Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sat, 3 Aug 2019 06:12:56 +1000 Subject: [PATCH 060/416] Migrate ACTION_BACKLIGHT_* to BL_* (#6299) * Branch point for 2019 Aug 30 Breaking Change * LUFA USB descriptor cleanup (#4871) * Fix indentation * Fix braces * Expand descriptor headers * Align descriptor elements * Nicer formatting * Tidy up preprocessor statements * Remove VERSION_BCD redefine - LUFA_VERSION_INTEGER is currently 0x170418 * Tidy up comments * Tweak ordering of HID report elements (no functional changes) * We don't need all of these newlines * Move default USB_MAX_POWER_CONSUMPTION closer to where it makes sense * Ask nicely * Add some more comments * Change indentation back to 4 spaces * Add changelog entry * Language Keymap extras backport from ZSA fork (#6198) * Swedish extra keymap refactor * Fix swedish $ sign definition (#81) * Fix br abnt2 keymap compilation error * Add PR changelog doc * Update PR6198.md * Enforce clang-format (#6293) * Enforce clang-format on commit for core files * forgot about tests * Migrate ACTION_LAYER_MOMENTARYs to MO() (#5176) * Migrate ACTION_LAYER_MOMENTARYs to MO() * Add changelog entry * Update docs/ChangeLog/20190830/PR5176.md Co-Authored-By: skullydazed * Migrate ACTION_BACKLIGHT_* to BL_* * Add changelog * Update docs/ChangeLog/20190830/PR6299.md Co-Authored-By: skullydazed --- docs/ChangeLog/20190830/PR6299.md | 4 ++++ keyboards/jd45/keymaps/justin/keymap.c | 13 +++++-------- keyboards/jd45/keymaps/mjt/keymap.c | 11 ++++++----- keyboards/kc60/keymaps/dbroqua/keymap.c | 14 +------------- keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c | 14 +------------- .../old_keymap_files/common_keymaps/keymap_wilba.c | 12 +++++------- 6 files changed, 22 insertions(+), 46 deletions(-) create mode 100644 docs/ChangeLog/20190830/PR6299.md diff --git a/docs/ChangeLog/20190830/PR6299.md b/docs/ChangeLog/20190830/PR6299.md new file mode 100644 index 000000000000..43fb9e031ddc --- /dev/null +++ b/docs/ChangeLog/20190830/PR6299.md @@ -0,0 +1,4 @@ +* Migrating `ACTION_BACKLIGHT_*()` entries in `fn_actions` to `BL_` keycodes + * `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` + * All keymaps using these actions have had the relevant `KC_FN*` keys replaced with the equivalent `BL_*` keys + * If you currently use `KC_FN*` you will need to replace `fn_actions` with the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features diff --git a/keyboards/jd45/keymaps/justin/keymap.c b/keyboards/jd45/keymaps/justin/keymap.c index 91cc760c6a98..1c0e780724d5 100644 --- a/keyboards/jd45/keymaps/justin/keymap.c +++ b/keyboards/jd45/keymaps/justin/keymap.c @@ -4,6 +4,8 @@ #define KC_MO2 MO(2) #define KC_MO3 MO(3) +#define KC_BLTG BL_TOGG + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_kc( ESC, Q, W, F, P, G, J, L, U, Y, SCLN, QUOT, BSPC, @@ -19,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS, - TRNS, FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS), + TRNS, BLTG, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS), [3] = LAYOUT_kc( TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, @@ -29,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS, - TRNS, FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS), + TRNS, BLTG, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS), }; enum macro_id @@ -49,12 +51,7 @@ const uint16_t PROGMEM fn_actions[] = { [10] = ACTION_MACRO(PSWD1), [11] = ACTION_MACRO(PSWD2), - [12] = ACTION_MACRO(PSWD3), - - [29] = ACTION_BACKLIGHT_TOGGLE(), - [30] = ACTION_BACKLIGHT_INCREASE(), - [31] = ACTION_BACKLIGHT_DECREASE() - + [12] = ACTION_MACRO(PSWD3) }; /* diff --git a/keyboards/jd45/keymaps/mjt/keymap.c b/keyboards/jd45/keymaps/mjt/keymap.c index 63563d6aaab6..95f96066d371 100644 --- a/keyboards/jd45/keymaps/mjt/keymap.c +++ b/keyboards/jd45/keymaps/mjt/keymap.c @@ -4,6 +4,8 @@ */ #define KC_TT2 TT(2) +#define KC_BLST BL_STEP +#define KC_BLTG BL_TOGG const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_kc( @@ -15,9 +17,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { GRV, TRNS, UP, TRNS, 7, 8, 9, 0, MINS, EQL, PSCR, LBRC, RBRC, TRNS, LEFT, DOWN, RGHT, 4, 5, 6, INS, HOME, PGUP, SCLN, TRNS, TRNS, TRNS, TRNS, TRNS, 1, 2, 3, DEL, END, PGDN, TRNS, TRNS, - TRNS, TRNS, TRNS, SPC, TRNS, DEL, TRNS, FN3, TRNS, TRNS), + TRNS, TRNS, TRNS, SPC, TRNS, DEL, TRNS, BLST, TRNS, TRNS), [2] = LAYOUT_kc( - TRNS, TRNS, VOLU, TRNS, F7, F8, F9, F10, F11, F12, PSCR, FN3, FN4, + TRNS, TRNS, VOLU, TRNS, F7, F8, F9, F10, F11, F12, PSCR, BLST, BLTG, TRNS, MPRV, VOLD, MNXT, F4, F5, F6, J, K, L, SCLN, TRNS, TRNS, TRNS, TRNS, TRNS, F1, F2, F3, MUTE, MPRV, MNXT, MSTP, TRNS, TRNS, TRNS, TRNS, LGUI, TRNS, TRNS, TRNS, TRNS, PAUS, TRNS) @@ -37,9 +39,8 @@ enum macro_id const uint16_t PROGMEM fn_actions[] = { [0] = ACTION_MODS_TAP_TOGGLE(MOD_LSFT), - [1] = ACTION_MACRO(M_LAYER1), - [3] = ACTION_BACKLIGHT_STEP(), - [4] = ACTION_BACKLIGHT_TOGGLE()}; + [1] = ACTION_MACRO(M_LAYER1) +}; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/kc60/keymaps/dbroqua/keymap.c b/keyboards/kc60/keymaps/dbroqua/keymap.c index a70e1017e260..f7aa36dabb65 100644 --- a/keyboards/kc60/keymaps/dbroqua/keymap.c +++ b/keyboards/kc60/keymaps/dbroqua/keymap.c @@ -8,18 +8,6 @@ // Fillers to make layering more clear #define ______ KC_TRNS -// Func macro definitions. -#define S_LED FUNC(0) -#define S_LEDI FUNC(1) -#define S_LEDD FUNC(2) - -// Enable these functions using FUNC(n) macro. -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_BACKLIGHT_TOGGLE(), - [1] = ACTION_BACKLIGHT_INCREASE(), - [2] = ACTION_BACKLIGHT_DECREASE() - }; - /* * | | | * | | | @@ -67,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ______, 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_PSCR,______, ______, ______, ______, ______, ______, \ - ______, ______, S_LED, S_LEDI, S_LEDD,______,KC_MUTE,KC_VOLU,KC_VOLD,______, ______, ______, ______,KC_MPLY, \ + ______, ______, BL_TOGG, BL_INC, BL_DEC, ______,KC_MUTE,KC_VOLU,KC_VOLD,______, ______, ______, ______,KC_MPLY, \ ______, ______, ______, ______, KC_DEL, ______, KC_MPRV, KC_MSTP, KC_MNXT \ ), diff --git a/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c b/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c index af758ae16ad0..fe5a9c4a8757 100644 --- a/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c +++ b/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c @@ -7,18 +7,6 @@ // Fillers to make layering more clear #define ______ KC_TRNS -// Func macro definitions. -#define S_LED FUNC(0) -#define S_LEDI FUNC(1) -#define S_LEDD FUNC(2) - -// Enable these functions using FUNC(n) macro. -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_BACKLIGHT_TOGGLE(), - [1] = ACTION_BACKLIGHT_INCREASE(), - [2] = ACTION_BACKLIGHT_DECREASE() - }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty * ,-----------------------------------------------------------------------------------------. @@ -56,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FN] = LAYOUT( /* Layer 1 */ ______, 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_CAPS, S_LED, S_LEDI, S_LEDD, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ + KC_CAPS, BL_TOGG, BL_INC, BL_DEC, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS,KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______, ______, \ ______, ______, KC_MPRV, KC_MPLY, KC_MNXT,______,______,KC_PPLS,KC_PMNS,KC_END, KC_PGDN, KC_DOWN, ______,______, \ ______, ______, ______, ______, KC_DEL, KC_MSTP, ______, ______, ______ \ diff --git a/keyboards/planck/old_keymap_files/common_keymaps/keymap_wilba.c b/keyboards/planck/old_keymap_files/common_keymaps/keymap_wilba.c index 5bf06382d788..054297b6362c 100644 --- a/keyboards/planck/old_keymap_files/common_keymaps/keymap_wilba.c +++ b/keyboards/planck/old_keymap_files/common_keymaps/keymap_wilba.c @@ -2,10 +2,13 @@ #define KC_MO2 MO(2) #define KC_MO3 MO(3) +#define KC_BLTG BL_TOGG +#define KC_BLIN BL_INC +#define KC_BLDE BL_DEC const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = KEYMAP( /* Wilba */ - FN27, FN28, FN29, E, R, T, Y, U, I, O, P, BSPC, + BLTG, BLIN, BLDE, E, R, T, Y, U, I, O, P, BSPC, TAB, A, S, D, F, G, H, J, K, L, SCLN, QUOT, LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, LCTL, LGUI, LALT, RSFT, MO2, SPC, MO3, LEFT, DOWN, UP, RGHT), @@ -47,10 +50,5 @@ const uint16_t PROGMEM fn_actions[] = { [24] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), // } [25] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // | - [26] = ACTION_MODS_KEY(MOD_LSFT | MOD_RSFT, KC_PAUSE), - - [27] = ACTION_BACKLIGHT_TOGGLE(), - [28] = ACTION_BACKLIGHT_INCREASE(), - [29] = ACTION_BACKLIGHT_DECREASE() - + [26] = ACTION_MODS_KEY(MOD_LSFT | MOD_RSFT, KC_PAUSE) }; From 75ee8df19e0f14ba466f41ab673dde2fe2fdae9c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 2 Aug 2019 21:35:35 +0100 Subject: [PATCH 061/416] Update Atreus to current code conventions (#5849) * Update atreus to current code conventions - add multi revision instead of defines * Remove config.h duplication from user keymaps * Add breaking change log * Add missing pragma once --- docs/ChangeLog/20190830/PR5849.md | 3 + keyboards/atreus/astar/astar.c | 16 ++++ keyboards/atreus/astar/astar.h | 17 ++++ keyboards/atreus/astar/config.h | 40 +++++++++ keyboards/atreus/astar/rules.mk | 58 ++++++++++++ keyboards/atreus/atreus.c | 18 +++- keyboards/atreus/atreus.h | 38 +++++--- keyboards/atreus/config.h | 57 ++++-------- keyboards/atreus/keymaps/alphadox/config.h | 76 +--------------- .../atreus/keymaps/dvorak_42_key/config.h | 88 +------------------ keyboards/atreus/keymaps/erlandsona/config.h | 88 +------------------ keyboards/atreus/readme.md | 22 +++-- keyboards/atreus/rules.mk | 76 ++-------------- keyboards/atreus/teensy2/config.h | 36 ++++++++ keyboards/atreus/teensy2/rules.mk | 58 ++++++++++++ keyboards/atreus/teensy2/teensy2.c | 16 ++++ keyboards/atreus/teensy2/teensy2.h | 17 ++++ 17 files changed, 346 insertions(+), 378 deletions(-) create mode 100644 docs/ChangeLog/20190830/PR5849.md create mode 100644 keyboards/atreus/astar/astar.c create mode 100644 keyboards/atreus/astar/astar.h create mode 100644 keyboards/atreus/astar/config.h create mode 100644 keyboards/atreus/astar/rules.mk create mode 100644 keyboards/atreus/teensy2/config.h create mode 100644 keyboards/atreus/teensy2/rules.mk create mode 100644 keyboards/atreus/teensy2/teensy2.c create mode 100644 keyboards/atreus/teensy2/teensy2.h diff --git a/docs/ChangeLog/20190830/PR5849.md b/docs/ChangeLog/20190830/PR5849.md new file mode 100644 index 000000000000..24dadc1f27c6 --- /dev/null +++ b/docs/ChangeLog/20190830/PR5849.md @@ -0,0 +1,3 @@ +* Update Atreus to current code conventions + * Duplicate include guards have bypassed the expected header processing behavior + * All keymaps affected are recommended to remove duplication of `/config.h` to `/keymaps//config.h` and only provide overrides at the keymap level \ No newline at end of file diff --git a/keyboards/atreus/astar/astar.c b/keyboards/atreus/astar/astar.c new file mode 100644 index 000000000000..19490deb99db --- /dev/null +++ b/keyboards/atreus/astar/astar.c @@ -0,0 +1,16 @@ +/* Copyright 2019 + * + * 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 "atreus.h" diff --git a/keyboards/atreus/astar/astar.h b/keyboards/atreus/astar/astar.h new file mode 100644 index 000000000000..bf74ceb17f4b --- /dev/null +++ b/keyboards/atreus/astar/astar.h @@ -0,0 +1,17 @@ +/* Copyright 2019 + * + * 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 . + */ + +#pragma once diff --git a/keyboards/atreus/astar/config.h b/keyboards/atreus/astar/config.h new file mode 100644 index 000000000000..a925c6fb1cf0 --- /dev/null +++ b/keyboards/atreus/astar/config.h @@ -0,0 +1,40 @@ +/* Copyright 2019 + * + * 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 . + */ + +#pragma once + +#include "config_common.h" + +/* + * 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 { D0, D1, D3, D2 } +#if defined(PCBDOWN) + #define MATRIX_COL_PINS { B7, D6, F7, F6, B6, D4, E6, B4, B5, C6, D7 } +#else + #define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 } +#endif +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/atreus/astar/rules.mk b/keyboards/atreus/astar/rules.mk new file mode 100644 index 000000000000..dc6f19623730 --- /dev/null +++ b/keyboards/atreus/astar/rules.mk @@ -0,0 +1,58 @@ +# MCU name +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 + + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# atmega32a bootloadHID +BOOTLOADER = caterina + + +# If you don't know the bootloader type, then you can specify the +# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +# OPT_DEFS += -DBOOTLOADER_SIZE=4096 diff --git a/keyboards/atreus/atreus.c b/keyboards/atreus/atreus.c index 263ec8732385..33bb5f35ad95 100644 --- a/keyboards/atreus/atreus.c +++ b/keyboards/atreus/atreus.c @@ -1 +1,17 @@ -#include "atreus.h" \ No newline at end of file +/* Copyright 2019 + * + * 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 "atreus.h" diff --git a/keyboards/atreus/atreus.h b/keyboards/atreus/atreus.h index 8e868ecc0e67..889a162a2d11 100644 --- a/keyboards/atreus/atreus.h +++ b/keyboards/atreus/atreus.h @@ -1,10 +1,28 @@ -#ifndef ATREUS_H -#define ATREUS_H +/* Copyright 2019 + * + * 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 . + */ +#pragma once #include "quantum.h" -#include "matrix.h" -#include "backlight.h" -#include +#define ___ KC_NO + +#ifdef KEYBOARD_atreus_astar + #include "astar.h" +#elif KEYBOARD_atreus_teensy2 + #include "teensy2.h" +#endif // This a shortcut to help you visually see your layout. // The first section contains all of the arguements @@ -16,10 +34,8 @@ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \ ) \ { \ - { k00, k01, k02, k03, k04, KC_NO, k05, k06, k07, k08, k09 }, \ - { k10, k11, k12, k13, k14, KC_NO, k15, k16, k17, k18, k19 }, \ - { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \ - { k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a, k3b } \ + { k00, k01, k02, k03, k04, ___, k05, k06, k07, k08, k09 }, \ + { k10, k11, k12, k13, k14, ___, k15, k16, k17, k18, k19 }, \ + { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \ + { k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a, k3b } \ } - -#endif diff --git a/keyboards/atreus/config.h b/keyboards/atreus/config.h index b1559a29d8e5..d18201443364 100644 --- a/keyboards/atreus/config.h +++ b/keyboards/atreus/config.h @@ -1,22 +1,20 @@ -/* -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 . -*/ +/* Copyright 2019 + * + * 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 +#pragma once #include "config_common.h" @@ -27,31 +25,12 @@ along with this program. If not, see . #define DEVICE_VER 0x0008 #define MANUFACTURER Technomancy #define PRODUCT Atreus -#define DESCRIPTION q.m.k. keyboard firmware for Atreus +#define DESCRIPTION QMK keyboard firmware for Atreus /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 11 -// Change this to how you wired your keyboard -// COLS: Left to right, ROWS: Top to bottom -#if defined(ATREUS_ASTAR) -# define MATRIX_ROW_PINS { D0, D1, D3, D2 } -#if defined(PCBDOWN) -# define MATRIX_COL_PINS { B7, D6, F7, F6, B6, D4, E6, B4, B5, C6, D7 } -#else -# define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 } -#endif -# define UNUSED_PINS -#elif defined(ATREUS_TEENSY2) -# define MATRIX_ROW_PINS { D0, D1, D2, D3 } -# define MATRIX_COL_PINS { F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0 } -# define UNUSED_PINS -#endif - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST @@ -83,5 +62,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/atreus/keymaps/alphadox/config.h b/keyboards/atreus/keymaps/alphadox/config.h index e998e5edc3d2..271f48d0011b 100644 --- a/keyboards/atreus/keymaps/alphadox/config.h +++ b/keyboards/atreus/keymaps/alphadox/config.h @@ -1,75 +1,3 @@ -/* -Copyright 2012 Jun Wako +#pragma once -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 Arbitrary Definitions -#define PRODUCT Planckeus -#define DESCRIPTION q.m.k. keyboard firmware for Planckeus - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 11 - -#define MATRIX_ROW_PINS { D0, D1, D2, D3 } -#define MATRIX_COL_PINS { F6, F5, F4, F1, F0, F7, B0, B1, B2, B3, B7 } -#define UNUSED_PINS - -/* 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 DEBOUNCE 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 - -/* - * 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 +// place overrides here diff --git a/keyboards/atreus/keymaps/dvorak_42_key/config.h b/keyboards/atreus/keymaps/dvorak_42_key/config.h index 12a221d7f567..ac5db196d96c 100644 --- a/keyboards/atreus/keymaps/dvorak_42_key/config.h +++ b/keyboards/atreus/keymaps/dvorak_42_key/config.h @@ -1,24 +1,6 @@ -/* -Copyright 2012 Jun Wako +#pragma once -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" +// place overrides here // mouse speed @@ -31,69 +13,3 @@ along with this program. If not, see . #define MOUSEKEY_WHEEL_DELTA 1 #define MOUSEKEY_WHEEL_MAX_SPEED 1 #define MOUSEKEY_WHEEL_TIME_TO_MAX 100 - -/* USB Device descriptor parameter */ - -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Technomancy -#define PRODUCT Atreus -#define DESCRIPTION q.m.k. keyboard firmware for Atreus - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 11 - -// Change this to how you wired your keyboard -// COLS: Left to right, ROWS: Top to bottom -#if defined(ATREUS_ASTAR) -# define MATRIX_ROW_PINS { D0, D1, D3, D2 } -#if defined(PCBDOWN) -# define MATRIX_COL_PINS { B7, D6, F7, F6, B6, D4, E6, B4, B5, C6, D7 } -#else -# define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 } -#endif -# define UNUSED_PINS -#elif defined(ATREUS_TEENSY2) -# define MATRIX_ROW_PINS { D0, D1, D2, D3 } -# define MATRIX_COL_PINS { F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0 } -# define UNUSED_PINS -#endif - -/* 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 DEBOUNCE 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 - -/* - * 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/atreus/keymaps/erlandsona/config.h b/keyboards/atreus/keymaps/erlandsona/config.h index 4a7ade96ad8b..aa1d8445c613 100644 --- a/keyboards/atreus/keymaps/erlandsona/config.h +++ b/keyboards/atreus/keymaps/erlandsona/config.h @@ -1,90 +1,6 @@ -/* -Copyright 2012 Jun Wako +#pragma once -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" +// place overrides here /* Make Overloaded Keys switch faster */ #define TAPPING_TERM 150 - -/* USB Device descriptor parameter */ - -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Technomancy -#define PRODUCT Atreus -#define DESCRIPTION q.m.k. keyboard firmware for Atreus - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 11 - -// Change this to how you wired your keyboard -// COLS: Left to right, ROWS: Top to bottom -#if defined(ATREUS_ASTAR) -# define MATRIX_ROW_PINS { D0, D1, D3, D2 } -#if defined(PCBDOWN) -# define MATRIX_COL_PINS { B7, D6, F7, F6, B6, D4, E6, B4, B5, C6, D7 } -#else -# define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 } -#endif -# define UNUSED_PINS -#elif defined(ATREUS_TEENSY2) -# define MATRIX_ROW_PINS { D0, D1, D2, D3 } -# define MATRIX_COL_PINS { F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0 } -# define UNUSED_PINS -#endif - -/* 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 DEBOUNCE 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 - -/* - * 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/atreus/readme.md b/keyboards/atreus/readme.md index 5cd797da96ff..0dbd098ca703 100644 --- a/keyboards/atreus/readme.md +++ b/keyboards/atreus/readme.md @@ -1,5 +1,6 @@ -Atreus -====== +# Atreus + +![Atreus](https://atreus.technomancy.us/photos/1.jpg) A small mechanical keyboard that is based around the shape of the human hand. @@ -9,16 +10,19 @@ Hardware Availability: https://atreus.technomancy.us These configuration files are specifically for the Atreus keyboards created by Phil Hagelberg (@technomancy). This keyboard is available in two variants: one powered by a Teensy 2 (usually hand-wired), one powered by an A-Star (usually using a PCB). You will need to use different `make` commands depending on the variant you have; see examples below. -A-Star:\ -`make atreus:default:avrdude` +Make example for this keyboard (after setting up your build environment): + + make atreus:default:avrdude + +If you would like to use one of the alternative controllers: + + make atreus/astar:default:avrdude + make atreus/teensy2:default:teensy -Teensy:\ -`make TEENSY2=yes atreus:default:teensy` - If your keyboard layout is a mirror image of what you expected (i.e. you do not get QWERTY on the left but YTREWQ on the right), then you have an A-Star powered Atreus (older than March 2016) with PCB labels facing *down* instead of up. Specify that by adding `PCBDOWN=yes` to your `make` commands, e.g. -`make PCBDOWN=yes atreus:default:avrdude` + make PCBDOWN=yes atreus:default:avrdude *Unlike the TMK firmware, these commands should be run from the root of the repository, not the directory containing this readme.* -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools), then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/atreus/rules.mk b/keyboards/atreus/rules.mk index eda77404a023..403b0b0ca2e1 100644 --- a/keyboards/atreus/rules.mk +++ b/keyboards/atreus/rules.mk @@ -1,75 +1,7 @@ -# MCU name -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 - - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# atmega32a bootloadHID -ifdef TEENSY2 - BOOTLOADER = halfkay - OPT_DEFS += -DATREUS_TEENSY2 -else - BOOTLOADER = caterina - OPT_DEFS += -DATREUS_ASTAR - ifdef PCBDOWN - OPT_DEFS += -DPCBDOWN - endif -endif - - -# If you don't know the bootloader type, then you can specify the -# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line -# 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) +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) @@ -77,12 +9,14 @@ 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 +NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) -UNICODE_ENABLE = yes # Unicode +UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) + +DEFAULT_FOLDER = atreus/astar diff --git a/keyboards/atreus/teensy2/config.h b/keyboards/atreus/teensy2/config.h new file mode 100644 index 000000000000..4130ef9bb71f --- /dev/null +++ b/keyboards/atreus/teensy2/config.h @@ -0,0 +1,36 @@ +/* Copyright 2019 + * + * 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 . + */ + +#pragma once + +#include "config_common.h" + +/* + * 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 { D0, D1, D2, D3 } +#define MATRIX_COL_PINS { F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/atreus/teensy2/rules.mk b/keyboards/atreus/teensy2/rules.mk new file mode 100644 index 000000000000..3fb7c7e5a7e4 --- /dev/null +++ b/keyboards/atreus/teensy2/rules.mk @@ -0,0 +1,58 @@ +# MCU name +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 + + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# atmega32a bootloadHID +BOOTLOADER = halfkay + + +# If you don't know the bootloader type, then you can specify the +# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +# OPT_DEFS += -DBOOTLOADER_SIZE=4096 diff --git a/keyboards/atreus/teensy2/teensy2.c b/keyboards/atreus/teensy2/teensy2.c new file mode 100644 index 000000000000..19490deb99db --- /dev/null +++ b/keyboards/atreus/teensy2/teensy2.c @@ -0,0 +1,16 @@ +/* Copyright 2019 + * + * 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 "atreus.h" diff --git a/keyboards/atreus/teensy2/teensy2.h b/keyboards/atreus/teensy2/teensy2.h new file mode 100644 index 000000000000..bf74ceb17f4b --- /dev/null +++ b/keyboards/atreus/teensy2/teensy2.h @@ -0,0 +1,17 @@ +/* Copyright 2019 + * + * 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 . + */ + +#pragma once From cf4575b94a3c65e6535a159fc71fc885aebc2620 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 2 Aug 2019 14:02:40 -0700 Subject: [PATCH 062/416] Fix the LUFA lib to use a submodule instead of just files (#6245) * Remove LUFA files * Update descriptions for newer version of LUFA * Create PR6245.md * Fix CDC(Serial) type errors * Fix missed merge conflict for AUDIO_DTYPE_CSInterface --- docs/ChangeLog/20190830/PR6245.md | 5 + lib/lufa/.gitattributes | 94 - lib/lufa/.gitignore | 16 - lib/lufa/Bootloaders/CDC/BootloaderAPI.c | 75 - lib/lufa/Bootloaders/CDC/BootloaderAPI.h | 58 - lib/lufa/Bootloaders/CDC/BootloaderAPITable.S | 91 - lib/lufa/Bootloaders/CDC/BootloaderCDC.c | 673 --- lib/lufa/Bootloaders/CDC/BootloaderCDC.h | 144 - lib/lufa/Bootloaders/CDC/BootloaderCDC.txt | 242 - lib/lufa/Bootloaders/CDC/Config/AppConfig.h | 50 - lib/lufa/Bootloaders/CDC/Config/LUFAConfig.h | 93 - lib/lufa/Bootloaders/CDC/Descriptors.c | 244 - lib/lufa/Bootloaders/CDC/Descriptors.h | 158 - .../Bootloaders/CDC/LUFA CDC Bootloader.inf | 66 - lib/lufa/Bootloaders/CDC/asf.xml | 161 - lib/lufa/Bootloaders/CDC/doxyfile | 2396 ---------- lib/lufa/Bootloaders/CDC/makefile | 62 - lib/lufa/Bootloaders/DFU/BootloaderAPI.c | 76 - lib/lufa/Bootloaders/DFU/BootloaderAPI.h | 58 - lib/lufa/Bootloaders/DFU/BootloaderAPITable.S | 91 - lib/lufa/Bootloaders/DFU/BootloaderDFU.c | 891 ---- lib/lufa/Bootloaders/DFU/BootloaderDFU.h | 216 - lib/lufa/Bootloaders/DFU/BootloaderDFU.txt | 235 - lib/lufa/Bootloaders/DFU/Config/AppConfig.h | 48 - lib/lufa/Bootloaders/DFU/Config/LUFAConfig.h | 93 - lib/lufa/Bootloaders/DFU/Descriptors.c | 193 - lib/lufa/Bootloaders/DFU/Descriptors.h | 200 - lib/lufa/Bootloaders/DFU/asf.xml | 156 - lib/lufa/Bootloaders/DFU/doxyfile | 2396 ---------- lib/lufa/Bootloaders/DFU/makefile | 62 - lib/lufa/Bootloaders/HID/BootloaderHID.c | 198 - lib/lufa/Bootloaders/HID/BootloaderHID.h | 71 - lib/lufa/Bootloaders/HID/BootloaderHID.txt | 105 - lib/lufa/Bootloaders/HID/Config/LUFAConfig.h | 93 - lib/lufa/Bootloaders/HID/Descriptors.c | 187 - lib/lufa/Bootloaders/HID/Descriptors.h | 80 - .../Bootloaders/HID/HostLoaderApp/.gitignore | 1 - .../Bootloaders/HID/HostLoaderApp/Makefile | 40 - .../HID/HostLoaderApp/Makefile.bsd | 21 - .../Bootloaders/HID/HostLoaderApp/gpl3.txt | 674 --- .../HID/HostLoaderApp/hid_bootloader_cli.c | 1013 ---- .../hid_bootloader_loader.py | 120 - lib/lufa/Bootloaders/HID/asf.xml | 123 - lib/lufa/Bootloaders/HID/doxyfile | 2398 ---------- lib/lufa/Bootloaders/HID/makefile | 55 - .../Bootloaders/MassStorage/BootloaderAPI.c | 76 - .../Bootloaders/MassStorage/BootloaderAPI.h | 63 - .../MassStorage/BootloaderAPITable.S | 102 - .../MassStorage/BootloaderMassStorage.c | 263 -- .../MassStorage/BootloaderMassStorage.h | 99 - .../MassStorage/BootloaderMassStorage.txt | 240 - .../MassStorage/Config/AppConfig.h | 47 - .../MassStorage/Config/LUFAConfig.h | 93 - .../Bootloaders/MassStorage/Descriptors.c | 157 - .../Bootloaders/MassStorage/Descriptors.h | 88 - lib/lufa/Bootloaders/MassStorage/Lib/SCSI.c | 294 -- lib/lufa/Bootloaders/MassStorage/Lib/SCSI.h | 84 - .../Bootloaders/MassStorage/Lib/VirtualFAT.c | 482 -- .../Bootloaders/MassStorage/Lib/VirtualFAT.h | 302 -- lib/lufa/Bootloaders/MassStorage/asf.xml | 156 - lib/lufa/Bootloaders/MassStorage/doxyfile | 2396 ---------- lib/lufa/Bootloaders/MassStorage/makefile | 75 - lib/lufa/Bootloaders/Printer/BootloaderAPI.c | 75 - lib/lufa/Bootloaders/Printer/BootloaderAPI.h | 56 - .../Bootloaders/Printer/BootloaderAPITable.S | 91 - .../Bootloaders/Printer/BootloaderPrinter.c | 487 -- .../Bootloaders/Printer/BootloaderPrinter.h | 108 - .../Bootloaders/Printer/BootloaderPrinter.txt | 202 - .../Bootloaders/Printer/Config/LUFAConfig.h | 93 - lib/lufa/Bootloaders/Printer/Descriptors.c | 194 - lib/lufa/Bootloaders/Printer/Descriptors.h | 96 - lib/lufa/Bootloaders/Printer/asf.xml | 159 - lib/lufa/Bootloaders/Printer/doxyfile | 2396 ---------- lib/lufa/Bootloaders/Printer/makefile | 62 - lib/lufa/Bootloaders/makefile | 46 - .../BuildTests/BoardDriverTest/Board/Board.h | 82 - .../BoardDriverTest/Board/Buttons.h | 92 - .../BoardDriverTest/Board/Dataflash.h | 197 - .../BoardDriverTest/Board/Joystick.h | 104 - .../BuildTests/BoardDriverTest/Board/LEDs.h | 132 - .../BoardDriverTest/BoardDeviceMap.cfg | 89 - lib/lufa/BuildTests/BoardDriverTest/Test.c | 115 - lib/lufa/BuildTests/BoardDriverTest/makefile | 69 - .../BuildTests/BoardDriverTest/makefile.test | 35 - .../BootloaderTest/BootloaderDeviceMap.cfg | 167 - lib/lufa/BuildTests/BootloaderTest/makefile | 65 - lib/lufa/BuildTests/ModuleTest/Dummy.S | 41 - lib/lufa/BuildTests/ModuleTest/Modules.h | 56 - lib/lufa/BuildTests/ModuleTest/Test_C.c | 31 - lib/lufa/BuildTests/ModuleTest/Test_CPP.cpp | 31 - lib/lufa/BuildTests/ModuleTest/makefile | 67 - lib/lufa/BuildTests/ModuleTest/makefile.test | 94 - lib/lufa/BuildTests/SingleUSBModeTest/Dummy.S | 42 - lib/lufa/BuildTests/SingleUSBModeTest/Test.c | 32 - .../BuildTests/SingleUSBModeTest/makefile | 57 - .../SingleUSBModeTest/makefile.test | 75 - .../BuildTests/StaticAnalysisTest/makefile | 47 - lib/lufa/BuildTests/makefile | 24 - .../ClassDriver/AudioInput/AudioInput.c | 274 -- .../ClassDriver/AudioInput/AudioInput.h | 94 - .../ClassDriver/AudioInput/AudioInput.txt | 92 - .../ClassDriver/AudioInput/Config/AppConfig.h | 51 - .../AudioInput/Config/LUFAConfig.h | 93 - .../ClassDriver/AudioInput/Descriptors.c | 312 -- .../ClassDriver/AudioInput/Descriptors.h | 106 - .../Device/ClassDriver/AudioInput/asf.xml | 52 - .../Device/ClassDriver/AudioInput/doxyfile | 2395 ---------- .../Device/ClassDriver/AudioInput/makefile | 43 - .../ClassDriver/AudioOutput/AudioOutput.c | 311 -- .../ClassDriver/AudioOutput/AudioOutput.h | 87 - .../ClassDriver/AudioOutput/AudioOutput.txt | 92 - .../AudioOutput/Config/AppConfig.h | 50 - .../AudioOutput/Config/LUFAConfig.h | 93 - .../ClassDriver/AudioOutput/Descriptors.c | 312 -- .../ClassDriver/AudioOutput/Descriptors.h | 106 - .../Device/ClassDriver/AudioOutput/asf.xml | 50 - .../Device/ClassDriver/AudioOutput/doxyfile | 2395 ---------- .../Device/ClassDriver/AudioOutput/makefile | 43 - .../ClassDriver/DualMIDI/Config/LUFAConfig.h | 126 - .../Device/ClassDriver/DualMIDI/Descriptors.c | 366 -- .../Device/ClassDriver/DualMIDI/Descriptors.h | 124 - .../Device/ClassDriver/DualMIDI/DualMIDI.c | 211 - .../Device/ClassDriver/DualMIDI/DualMIDI.h | 78 - .../Device/ClassDriver/DualMIDI/DualMIDI.txt | 78 - .../Demos/Device/ClassDriver/DualMIDI/asf.xml | 62 - .../Device/ClassDriver/DualMIDI/doxyfile | 2395 ---------- .../Device/ClassDriver/DualMIDI/makefile | 43 - .../DualVirtualSerial/Config/LUFAConfig.h | 126 - .../DualVirtualSerial/Descriptors.c | 360 -- .../DualVirtualSerial/Descriptors.h | 135 - .../DualVirtualSerial/DualVirtualSerial.c | 244 - .../DualVirtualSerial/DualVirtualSerial.h | 76 - .../DualVirtualSerial/DualVirtualSerial.txt | 89 - .../LUFA DualVirtualSerial.inf | 66 - .../ClassDriver/DualVirtualSerial/asf.xml | 62 - .../ClassDriver/DualVirtualSerial/doxyfile | 2395 ---------- .../ClassDriver/DualVirtualSerial/makefile | 43 - .../ClassDriver/GenericHID/Config/AppConfig.h | 48 - .../GenericHID/Config/LUFAConfig.h | 126 - .../ClassDriver/GenericHID/Descriptors.c | 220 - .../ClassDriver/GenericHID/Descriptors.h | 95 - .../ClassDriver/GenericHID/GenericHID.c | 202 - .../ClassDriver/GenericHID/GenericHID.h | 87 - .../ClassDriver/GenericHID/GenericHID.txt | 79 - .../HostTestApp/test_generic_hid_libusb.js | 143 - .../HostTestApp/test_generic_hid_libusb.py | 98 - .../HostTestApp/test_generic_hid_winusb.py | 96 - .../Device/ClassDriver/GenericHID/asf.xml | 63 - .../Device/ClassDriver/GenericHID/doxyfile | 2396 ---------- .../Device/ClassDriver/GenericHID/makefile | 43 - .../ClassDriver/Joystick/Config/LUFAConfig.h | 126 - .../Device/ClassDriver/Joystick/Descriptors.c | 220 - .../Device/ClassDriver/Joystick/Descriptors.h | 93 - .../Device/ClassDriver/Joystick/Joystick.c | 202 - .../Device/ClassDriver/Joystick/Joystick.h | 100 - .../Device/ClassDriver/Joystick/Joystick.txt | 77 - .../Demos/Device/ClassDriver/Joystick/asf.xml | 62 - .../Device/ClassDriver/Joystick/doxyfile | 2395 ---------- .../Device/ClassDriver/Joystick/makefile | 43 - .../ClassDriver/Keyboard/Config/LUFAConfig.h | 126 - .../Device/ClassDriver/Keyboard/Descriptors.c | 216 - .../Device/ClassDriver/Keyboard/Descriptors.h | 93 - .../Device/ClassDriver/Keyboard/Keyboard.c | 219 - .../Device/ClassDriver/Keyboard/Keyboard.h | 89 - .../Device/ClassDriver/Keyboard/Keyboard.txt | 76 - .../Demos/Device/ClassDriver/Keyboard/asf.xml | 62 - .../Device/ClassDriver/Keyboard/doxyfile | 2395 ---------- .../Device/ClassDriver/Keyboard/makefile | 43 - .../KeyboardMouse/Config/LUFAConfig.h | 126 - .../ClassDriver/KeyboardMouse/Descriptors.c | 289 -- .../ClassDriver/KeyboardMouse/Descriptors.h | 102 - .../ClassDriver/KeyboardMouse/KeyboardMouse.c | 276 -- .../ClassDriver/KeyboardMouse/KeyboardMouse.h | 84 - .../KeyboardMouse/KeyboardMouse.txt | 81 - .../Device/ClassDriver/KeyboardMouse/asf.xml | 62 - .../Device/ClassDriver/KeyboardMouse/doxyfile | 2395 ---------- .../Device/ClassDriver/KeyboardMouse/makefile | 43 - .../Config/LUFAConfig.h | 126 - .../KeyboardMouseMultiReport/Descriptors.c | 279 -- .../KeyboardMouseMultiReport/Descriptors.h | 101 - .../KeyboardMouseMultiReport.c | 237 - .../KeyboardMouseMultiReport.h | 84 - .../KeyboardMouseMultiReport.txt | 78 - .../KeyboardMouseMultiReport/asf.xml | 61 - .../KeyboardMouseMultiReport/doxyfile | 2395 ---------- .../KeyboardMouseMultiReport/makefile | 43 - .../ClassDriver/MIDI/Config/LUFAConfig.h | 126 - .../Device/ClassDriver/MIDI/Descriptors.c | 314 -- .../Device/ClassDriver/MIDI/Descriptors.h | 108 - lib/lufa/Demos/Device/ClassDriver/MIDI/MIDI.c | 211 - lib/lufa/Demos/Device/ClassDriver/MIDI/MIDI.h | 78 - .../Demos/Device/ClassDriver/MIDI/MIDI.txt | 78 - .../Demos/Device/ClassDriver/MIDI/asf.xml | 62 - .../Demos/Device/ClassDriver/MIDI/doxyfile | 2395 ---------- .../Demos/Device/ClassDriver/MIDI/makefile | 43 - .../MassStorage/Config/AppConfig.h | 50 - .../MassStorage/Config/LUFAConfig.h | 126 - .../ClassDriver/MassStorage/Descriptors.c | 194 - .../ClassDriver/MassStorage/Descriptors.h | 98 - .../MassStorage/Lib/DataflashManager.c | 534 --- .../MassStorage/Lib/DataflashManager.h | 89 - .../Device/ClassDriver/MassStorage/Lib/SCSI.c | 349 -- .../Device/ClassDriver/MassStorage/Lib/SCSI.h | 89 - .../ClassDriver/MassStorage/MassStorage.c | 162 - .../ClassDriver/MassStorage/MassStorage.h | 83 - .../ClassDriver/MassStorage/MassStorage.txt | 100 - .../Device/ClassDriver/MassStorage/asf.xml | 67 - .../Device/ClassDriver/MassStorage/doxyfile | 2395 ---------- .../Device/ClassDriver/MassStorage/makefile | 43 - .../MassStorageKeyboard/Config/AppConfig.h | 50 - .../MassStorageKeyboard/Config/LUFAConfig.h | 126 - .../MassStorageKeyboard/Descriptors.c | 254 - .../MassStorageKeyboard/Descriptors.h | 111 - .../Lib/DataflashManager.c | 534 --- .../Lib/DataflashManager.h | 87 - .../MassStorageKeyboard/Lib/SCSI.c | 349 -- .../MassStorageKeyboard/Lib/SCSI.h | 89 - .../MassStorageKeyboard/MassStorageKeyboard.c | 270 -- .../MassStorageKeyboard/MassStorageKeyboard.h | 100 - .../MassStorageKeyboard.txt | 100 - .../ClassDriver/MassStorageKeyboard/asf.xml | 70 - .../ClassDriver/MassStorageKeyboard/doxyfile | 2395 ---------- .../ClassDriver/MassStorageKeyboard/makefile | 43 - .../ClassDriver/Mouse/Config/LUFAConfig.h | 126 - .../Device/ClassDriver/Mouse/Descriptors.c | 221 - .../Device/ClassDriver/Mouse/Descriptors.h | 93 - .../Demos/Device/ClassDriver/Mouse/Mouse.c | 202 - .../Demos/Device/ClassDriver/Mouse/Mouse.h | 90 - .../Demos/Device/ClassDriver/Mouse/Mouse.txt | 76 - .../Demos/Device/ClassDriver/Mouse/asf.xml | 62 - .../Demos/Device/ClassDriver/Mouse/doxyfile | 2395 ---------- .../Demos/Device/ClassDriver/Mouse/makefile | 43 - .../RNDISEthernet/Config/AppConfig.h | 60 - .../RNDISEthernet/Config/LUFAConfig.h | 126 - .../ClassDriver/RNDISEthernet/Descriptors.c | 244 - .../ClassDriver/RNDISEthernet/Descriptors.h | 112 - .../ClassDriver/RNDISEthernet/LUFA RNDIS.inf | 59 - .../ClassDriver/RNDISEthernet/Lib/ARP.c | 87 - .../ClassDriver/RNDISEthernet/Lib/ARP.h | 76 - .../ClassDriver/RNDISEthernet/Lib/DHCP.c | 129 - .../ClassDriver/RNDISEthernet/Lib/DHCP.h | 131 - .../ClassDriver/RNDISEthernet/Lib/Ethernet.c | 132 - .../ClassDriver/RNDISEthernet/Lib/Ethernet.h | 101 - .../RNDISEthernet/Lib/EthernetProtocols.h | 92 - .../ClassDriver/RNDISEthernet/Lib/ICMP.c | 83 - .../ClassDriver/RNDISEthernet/Lib/ICMP.h | 83 - .../Device/ClassDriver/RNDISEthernet/Lib/IP.c | 116 - .../Device/ClassDriver/RNDISEthernet/Lib/IP.h | 93 - .../RNDISEthernet/Lib/ProtocolDecoders.c | 277 -- .../RNDISEthernet/Lib/ProtocolDecoders.h | 60 - .../ClassDriver/RNDISEthernet/Lib/TCP.c | 632 --- .../ClassDriver/RNDISEthernet/Lib/TCP.h | 260 -- .../ClassDriver/RNDISEthernet/Lib/UDP.c | 84 - .../ClassDriver/RNDISEthernet/Lib/UDP.h | 70 - .../ClassDriver/RNDISEthernet/Lib/Webserver.c | 203 - .../ClassDriver/RNDISEthernet/Lib/Webserver.h | 57 - .../ClassDriver/RNDISEthernet/RNDISEthernet.c | 179 - .../ClassDriver/RNDISEthernet/RNDISEthernet.h | 84 - .../RNDISEthernet/RNDISEthernet.txt | 146 - .../Device/ClassDriver/RNDISEthernet/asf.xml | 84 - .../Device/ClassDriver/RNDISEthernet/doxyfile | 2395 ---------- .../Device/ClassDriver/RNDISEthernet/makefile | 44 - .../VirtualSerial/Config/LUFAConfig.h | 126 - .../ClassDriver/VirtualSerial/Descriptors.c | 245 - .../ClassDriver/VirtualSerial/Descriptors.h | 110 - .../VirtualSerial/LUFA VirtualSerial.inf | 66 - .../ClassDriver/VirtualSerial/VirtualSerial.c | 204 - .../ClassDriver/VirtualSerial/VirtualSerial.h | 77 - .../VirtualSerial/VirtualSerial.txt | 76 - .../Device/ClassDriver/VirtualSerial/asf.xml | 62 - .../Device/ClassDriver/VirtualSerial/doxyfile | 2395 ---------- .../Device/ClassDriver/VirtualSerial/makefile | 43 - .../Config/AppConfig.h | 50 - .../Config/LUFAConfig.h | 126 - .../VirtualSerialMassStorage/Descriptors.c | 295 -- .../VirtualSerialMassStorage/Descriptors.h | 128 - .../LUFA VirtualSerialMassStorage.inf | 66 - .../Lib/DataflashManager.c | 534 --- .../Lib/DataflashManager.h | 89 - .../VirtualSerialMassStorage/Lib/SCSI.c | 349 -- .../VirtualSerialMassStorage/Lib/SCSI.h | 89 - .../VirtualSerialMassStorage.c | 259 -- .../VirtualSerialMassStorage.h | 83 - .../VirtualSerialMassStorage.txt | 93 - .../VirtualSerialMassStorage/asf.xml | 70 - .../VirtualSerialMassStorage/doxyfile | 2395 ---------- .../VirtualSerialMassStorage/makefile | 43 - .../VirtualSerialMouse/Config/LUFAConfig.h | 126 - .../VirtualSerialMouse/Descriptors.c | 323 -- .../VirtualSerialMouse/Descriptors.h | 123 - .../LUFA VirtualSerialMouse.inf | 66 - .../VirtualSerialMouse/VirtualSerialMouse.c | 284 -- .../VirtualSerialMouse/VirtualSerialMouse.h | 88 - .../VirtualSerialMouse/VirtualSerialMouse.txt | 79 - .../ClassDriver/VirtualSerialMouse/asf.xml | 64 - .../ClassDriver/VirtualSerialMouse/doxyfile | 2395 ---------- .../ClassDriver/VirtualSerialMouse/makefile | 43 - lib/lufa/Demos/Device/ClassDriver/makefile | 46 - .../TestAndMeasurement/Config/LUFAConfig.h | 126 - .../TestAndMeasurement/Descriptors.c | 205 - .../TestAndMeasurement/Descriptors.h | 104 - .../TestAndMeasurement/TestAndMeasurement.c | 476 -- .../TestAndMeasurement/TestAndMeasurement.h | 150 - .../Incomplete/TestAndMeasurement/makefile | 43 - .../Device/LowLevel/AudioInput/AudioInput.c | 259 -- .../Device/LowLevel/AudioInput/AudioInput.h | 82 - .../Device/LowLevel/AudioInput/AudioInput.txt | 87 - .../LowLevel/AudioInput/Config/AppConfig.h | 51 - .../LowLevel/AudioInput/Config/LUFAConfig.h | 93 - .../Device/LowLevel/AudioInput/Descriptors.c | 312 -- .../Device/LowLevel/AudioInput/Descriptors.h | 106 - .../Demos/Device/LowLevel/AudioInput/asf.xml | 52 - .../Demos/Device/LowLevel/AudioInput/doxyfile | 2395 ---------- .../Demos/Device/LowLevel/AudioInput/makefile | 43 - .../Device/LowLevel/AudioOutput/AudioOutput.c | 293 -- .../Device/LowLevel/AudioOutput/AudioOutput.h | 74 - .../LowLevel/AudioOutput/AudioOutput.txt | 92 - .../LowLevel/AudioOutput/Config/AppConfig.h | 50 - .../LowLevel/AudioOutput/Config/LUFAConfig.h | 93 - .../Device/LowLevel/AudioOutput/Descriptors.c | 312 -- .../Device/LowLevel/AudioOutput/Descriptors.h | 106 - .../Demos/Device/LowLevel/AudioOutput/asf.xml | 51 - .../Device/LowLevel/AudioOutput/doxyfile | 2395 ---------- .../Device/LowLevel/AudioOutput/makefile | 43 - .../Device/LowLevel/BulkVendor/BulkVendor.c | 136 - .../Device/LowLevel/BulkVendor/BulkVendor.h | 76 - .../Device/LowLevel/BulkVendor/BulkVendor.txt | 69 - .../LowLevel/BulkVendor/Config/LUFAConfig.h | 126 - .../Device/LowLevel/BulkVendor/Descriptors.c | 194 - .../Device/LowLevel/BulkVendor/Descriptors.h | 96 - .../HostTestApp/test_bulk_vendor.py | 67 - .../WindowsDriver/LUFA_Bulk_Vendor_Demo.inf | Bin 8150 -> 0 bytes .../WindowsDriver/amd64/libusb0.dll | Bin 76384 -> 0 bytes .../WindowsDriver/amd64/libusb0.sys | Bin 52832 -> 0 bytes .../BulkVendor/WindowsDriver/ia64/libusb0.dll | Bin 157792 -> 0 bytes .../BulkVendor/WindowsDriver/ia64/libusb0.sys | Bin 110176 -> 0 bytes .../WindowsDriver/installer_x64.exe | Bin 25088 -> 0 bytes .../WindowsDriver/installer_x86.exe | Bin 23552 -> 0 bytes .../license/libusb0/installer_license.txt | 851 ---- .../BulkVendor/WindowsDriver/x86/libusb0.sys | Bin 42592 -> 0 bytes .../WindowsDriver/x86/libusb0_x86.dll | Bin 67680 -> 0 bytes .../Demos/Device/LowLevel/BulkVendor/asf.xml | 61 - .../Demos/Device/LowLevel/BulkVendor/doxyfile | 2397 ---------- .../Demos/Device/LowLevel/BulkVendor/makefile | 43 - .../DualVirtualSerial/Config/LUFAConfig.h | 126 - .../LowLevel/DualVirtualSerial/Descriptors.c | 360 -- .../LowLevel/DualVirtualSerial/Descriptors.h | 135 - .../DualVirtualSerial/DualVirtualSerial.c | 299 -- .../DualVirtualSerial/DualVirtualSerial.h | 77 - .../DualVirtualSerial/DualVirtualSerial.txt | 89 - .../LUFA DualVirtualSerial.inf | 66 - .../Device/LowLevel/DualVirtualSerial/asf.xml | 62 - .../LowLevel/DualVirtualSerial/doxyfile | 2395 ---------- .../LowLevel/DualVirtualSerial/makefile | 43 - .../LowLevel/GenericHID/Config/AppConfig.h | 48 - .../LowLevel/GenericHID/Config/LUFAConfig.h | 126 - .../Device/LowLevel/GenericHID/Descriptors.c | 238 - .../Device/LowLevel/GenericHID/Descriptors.h | 99 - .../Device/LowLevel/GenericHID/GenericHID.c | 253 - .../Device/LowLevel/GenericHID/GenericHID.h | 81 - .../Device/LowLevel/GenericHID/GenericHID.txt | 79 - .../HostTestApp/test_generic_hid.py | 96 - .../Demos/Device/LowLevel/GenericHID/asf.xml | 63 - .../Demos/Device/LowLevel/GenericHID/doxyfile | 2396 ---------- .../Demos/Device/LowLevel/GenericHID/makefile | 43 - .../LowLevel/Joystick/Config/LUFAConfig.h | 126 - .../Device/LowLevel/Joystick/Descriptors.c | 240 - .../Device/LowLevel/Joystick/Descriptors.h | 99 - .../Demos/Device/LowLevel/Joystick/Joystick.c | 217 - .../Demos/Device/LowLevel/Joystick/Joystick.h | 91 - .../Device/LowLevel/Joystick/Joystick.txt | 77 - .../Demos/Device/LowLevel/Joystick/asf.xml | 62 - .../Demos/Device/LowLevel/Joystick/doxyfile | 2395 ---------- .../Demos/Device/LowLevel/Joystick/makefile | 43 - .../LowLevel/Keyboard/Config/LUFAConfig.h | 126 - .../Device/LowLevel/Keyboard/Descriptors.c | 255 - .../Device/LowLevel/Keyboard/Descriptors.h | 98 - .../Demos/Device/LowLevel/Keyboard/Keyboard.c | 383 -- .../Demos/Device/LowLevel/Keyboard/Keyboard.h | 85 - .../Device/LowLevel/Keyboard/Keyboard.txt | 76 - .../Demos/Device/LowLevel/Keyboard/asf.xml | 62 - .../Demos/Device/LowLevel/Keyboard/doxyfile | 2395 ---------- .../Demos/Device/LowLevel/Keyboard/makefile | 43 - .../KeyboardMouse/Config/LUFAConfig.h | 126 - .../LowLevel/KeyboardMouse/Descriptors.c | 346 -- .../LowLevel/KeyboardMouse/Descriptors.h | 107 - .../LowLevel/KeyboardMouse/KeyboardMouse.c | 321 -- .../LowLevel/KeyboardMouse/KeyboardMouse.h | 77 - .../LowLevel/KeyboardMouse/KeyboardMouse.txt | 81 - .../Device/LowLevel/KeyboardMouse/asf.xml | 62 - .../Device/LowLevel/KeyboardMouse/doxyfile | 2395 ---------- .../Device/LowLevel/KeyboardMouse/makefile | 43 - .../Device/LowLevel/MIDI/Config/LUFAConfig.h | 126 - .../Demos/Device/LowLevel/MIDI/Descriptors.c | 314 -- .../Demos/Device/LowLevel/MIDI/Descriptors.h | 108 - lib/lufa/Demos/Device/LowLevel/MIDI/MIDI.c | 224 - lib/lufa/Demos/Device/LowLevel/MIDI/MIDI.h | 76 - lib/lufa/Demos/Device/LowLevel/MIDI/MIDI.txt | 78 - lib/lufa/Demos/Device/LowLevel/MIDI/asf.xml | 62 - lib/lufa/Demos/Device/LowLevel/MIDI/doxyfile | 2395 ---------- lib/lufa/Demos/Device/LowLevel/MIDI/makefile | 43 - .../LowLevel/MassStorage/Config/AppConfig.h | 50 - .../LowLevel/MassStorage/Config/LUFAConfig.h | 126 - .../Device/LowLevel/MassStorage/Descriptors.c | 194 - .../Device/LowLevel/MassStorage/Descriptors.h | 98 - .../MassStorage/Lib/DataflashManager.c | 530 --- .../MassStorage/Lib/DataflashManager.h | 86 - .../Device/LowLevel/MassStorage/Lib/SCSI.c | 344 -- .../Device/LowLevel/MassStorage/Lib/SCSI.h | 150 - .../Device/LowLevel/MassStorage/MassStorage.c | 332 -- .../Device/LowLevel/MassStorage/MassStorage.h | 92 - .../LowLevel/MassStorage/MassStorage.txt | 100 - .../Demos/Device/LowLevel/MassStorage/asf.xml | 67 - .../Device/LowLevel/MassStorage/doxyfile | 2395 ---------- .../Device/LowLevel/MassStorage/makefile | 43 - .../Device/LowLevel/Mouse/Config/LUFAConfig.h | 126 - .../Demos/Device/LowLevel/Mouse/Descriptors.c | 240 - .../Demos/Device/LowLevel/Mouse/Descriptors.h | 93 - lib/lufa/Demos/Device/LowLevel/Mouse/Mouse.c | 311 -- lib/lufa/Demos/Device/LowLevel/Mouse/Mouse.h | 81 - .../Demos/Device/LowLevel/Mouse/Mouse.txt | 76 - lib/lufa/Demos/Device/LowLevel/Mouse/asf.xml | 62 - lib/lufa/Demos/Device/LowLevel/Mouse/doxyfile | 2395 ---------- lib/lufa/Demos/Device/LowLevel/Mouse/makefile | 43 - .../LowLevel/RNDISEthernet/Config/AppConfig.h | 60 - .../RNDISEthernet/Config/LUFAConfig.h | 126 - .../LowLevel/RNDISEthernet/Descriptors.c | 244 - .../LowLevel/RNDISEthernet/Descriptors.h | 112 - .../LowLevel/RNDISEthernet/LUFA RNDIS.inf | 59 - .../Device/LowLevel/RNDISEthernet/Lib/ARP.c | 87 - .../Device/LowLevel/RNDISEthernet/Lib/ARP.h | 78 - .../Device/LowLevel/RNDISEthernet/Lib/DHCP.c | 129 - .../Device/LowLevel/RNDISEthernet/Lib/DHCP.h | 131 - .../LowLevel/RNDISEthernet/Lib/Ethernet.c | 136 - .../LowLevel/RNDISEthernet/Lib/Ethernet.h | 111 - .../RNDISEthernet/Lib/EthernetProtocols.h | 88 - .../Device/LowLevel/RNDISEthernet/Lib/ICMP.c | 81 - .../Device/LowLevel/RNDISEthernet/Lib/ICMP.h | 82 - .../Device/LowLevel/RNDISEthernet/Lib/IP.c | 113 - .../Device/LowLevel/RNDISEthernet/Lib/IP.h | 92 - .../RNDISEthernet/Lib/ProtocolDecoders.c | 276 -- .../RNDISEthernet/Lib/ProtocolDecoders.h | 60 - .../Device/LowLevel/RNDISEthernet/Lib/RNDIS.c | 394 -- .../Device/LowLevel/RNDISEthernet/Lib/RNDIS.h | 67 - .../Device/LowLevel/RNDISEthernet/Lib/TCP.c | 631 --- .../Device/LowLevel/RNDISEthernet/Lib/TCP.h | 260 -- .../Device/LowLevel/RNDISEthernet/Lib/UDP.c | 84 - .../Device/LowLevel/RNDISEthernet/Lib/UDP.h | 73 - .../LowLevel/RNDISEthernet/Lib/Webserver.c | 203 - .../LowLevel/RNDISEthernet/Lib/Webserver.h | 57 - .../LowLevel/RNDISEthernet/RNDISEthernet.c | 294 -- .../LowLevel/RNDISEthernet/RNDISEthernet.h | 87 - .../LowLevel/RNDISEthernet/RNDISEthernet.txt | 146 - .../Device/LowLevel/RNDISEthernet/asf.xml | 86 - .../Device/LowLevel/RNDISEthernet/doxyfile | 2395 ---------- .../Device/LowLevel/RNDISEthernet/makefile | 44 - .../VirtualSerial/Config/LUFAConfig.h | 126 - .../LowLevel/VirtualSerial/Descriptors.c | 245 - .../LowLevel/VirtualSerial/Descriptors.h | 110 - .../VirtualSerial/LUFA VirtualSerial.inf | 66 - .../LowLevel/VirtualSerial/VirtualSerial.c | 243 - .../LowLevel/VirtualSerial/VirtualSerial.h | 76 - .../LowLevel/VirtualSerial/VirtualSerial.txt | 76 - .../Device/LowLevel/VirtualSerial/asf.xml | 63 - .../Device/LowLevel/VirtualSerial/doxyfile | 2395 ---------- .../Device/LowLevel/VirtualSerial/makefile | 43 - lib/lufa/Demos/Device/LowLevel/makefile | 46 - lib/lufa/Demos/Device/makefile | 21 - .../MouseHostDevice/Config/LUFAConfig.h | 93 - .../ClassDriver/MouseHostDevice/Descriptors.c | 221 - .../ClassDriver/MouseHostDevice/Descriptors.h | 93 - .../MouseHostDevice/DeviceFunctions.c | 155 - .../MouseHostDevice/DeviceFunctions.h | 64 - .../MouseHostDevice/HostFunctions.c | 184 - .../MouseHostDevice/HostFunctions.h | 56 - .../MouseHostDevice/MouseHostDevice.c | 99 - .../MouseHostDevice/MouseHostDevice.h | 78 - .../MouseHostDevice/MouseHostDevice.txt | 80 - .../ClassDriver/MouseHostDevice/asf.xml | 56 - .../ClassDriver/MouseHostDevice/doxyfile | 2395 ---------- .../ClassDriver/MouseHostDevice/makefile | 43 - lib/lufa/Demos/DualRole/ClassDriver/makefile | 46 - lib/lufa/Demos/DualRole/makefile | 20 - .../AndroidAccessoryHost.c | 239 - .../AndroidAccessoryHost.h | 79 - .../AndroidAccessoryHost.txt | 62 - .../AndroidHostApp/AndroidHostApp.zip | Bin 552813 -> 0 bytes .../AndroidAccessoryHost/Config/LUFAConfig.h | 93 - .../ClassDriver/AndroidAccessoryHost/asf.xml | 49 - .../ClassDriver/AndroidAccessoryHost/doxyfile | 2395 ---------- .../ClassDriver/AndroidAccessoryHost/makefile | 43 - .../AudioInputHost/AudioInputHost.c | 239 - .../AudioInputHost/AudioInputHost.h | 77 - .../AudioInputHost/AudioInputHost.txt | 66 - .../AudioInputHost/Config/LUFAConfig.h | 93 - .../Host/ClassDriver/AudioInputHost/asf.xml | 48 - .../Host/ClassDriver/AudioInputHost/doxyfile | 2395 ---------- .../Host/ClassDriver/AudioInputHost/makefile | 43 - .../AudioOutputHost/AudioOutputHost.c | 243 - .../AudioOutputHost/AudioOutputHost.h | 87 - .../AudioOutputHost/AudioOutputHost.txt | 83 - .../AudioOutputHost/Config/AppConfig.h | 51 - .../AudioOutputHost/Config/LUFAConfig.h | 93 - .../Host/ClassDriver/AudioOutputHost/asf.xml | 52 - .../Host/ClassDriver/AudioOutputHost/doxyfile | 2395 ---------- .../Host/ClassDriver/AudioOutputHost/makefile | 43 - .../Config/LUFAConfig.h | 93 - .../JoystickHostWithParser.c | 286 -- .../JoystickHostWithParser.h | 95 - .../JoystickHostWithParser.txt | 71 - .../JoystickHostWithParser/asf.xml | 48 - .../JoystickHostWithParser/doxyfile | 2395 ---------- .../JoystickHostWithParser/makefile | 43 - .../KeyboardHost/Config/LUFAConfig.h | 93 - .../ClassDriver/KeyboardHost/KeyboardHost.c | 244 - .../ClassDriver/KeyboardHost/KeyboardHost.h | 78 - .../ClassDriver/KeyboardHost/KeyboardHost.txt | 71 - .../Host/ClassDriver/KeyboardHost/asf.xml | 48 - .../Host/ClassDriver/KeyboardHost/doxyfile | 2395 ---------- .../Host/ClassDriver/KeyboardHost/makefile | 43 - .../Config/LUFAConfig.h | 93 - .../KeyboardHostWithParser.c | 287 -- .../KeyboardHostWithParser.h | 83 - .../KeyboardHostWithParser.txt | 71 - .../KeyboardHostWithParser/asf.xml | 48 - .../KeyboardHostWithParser/doxyfile | 2395 ---------- .../KeyboardHostWithParser/makefile | 43 - .../ClassDriver/MIDIHost/Config/LUFAConfig.h | 93 - .../Host/ClassDriver/MIDIHost/MIDIHost.c | 272 -- .../Host/ClassDriver/MIDIHost/MIDIHost.h | 81 - .../Host/ClassDriver/MIDIHost/MIDIHost.txt | 60 - .../Demos/Host/ClassDriver/MIDIHost/asf.xml | 50 - .../Demos/Host/ClassDriver/MIDIHost/doxyfile | 2395 ---------- .../Demos/Host/ClassDriver/MIDIHost/makefile | 43 - .../MassStorageHost/Config/LUFAConfig.h | 93 - .../MassStorageHost/MassStorageHost.c | 311 -- .../MassStorageHost/MassStorageHost.h | 82 - .../MassStorageHost/MassStorageHost.txt | 68 - .../Host/ClassDriver/MassStorageHost/asf.xml | 48 - .../Host/ClassDriver/MassStorageHost/doxyfile | 2395 ---------- .../Host/ClassDriver/MassStorageHost/makefile | 43 - .../ClassDriver/MouseHost/Config/LUFAConfig.h | 93 - .../Host/ClassDriver/MouseHost/MouseHost.c | 227 - .../Host/ClassDriver/MouseHost/MouseHost.h | 78 - .../Host/ClassDriver/MouseHost/MouseHost.txt | 74 - .../Demos/Host/ClassDriver/MouseHost/asf.xml | 48 - .../Demos/Host/ClassDriver/MouseHost/doxyfile | 2395 ---------- .../Demos/Host/ClassDriver/MouseHost/makefile | 43 - .../MouseHostWithParser/Config/LUFAConfig.h | 93 - .../MouseHostWithParser/MouseHostWithParser.c | 300 -- .../MouseHostWithParser/MouseHostWithParser.h | 98 - .../MouseHostWithParser.txt | 71 - .../ClassDriver/MouseHostWithParser/asf.xml | 48 - .../ClassDriver/MouseHostWithParser/doxyfile | 2395 ---------- .../ClassDriver/MouseHostWithParser/makefile | 43 - .../PrinterHost/Config/LUFAConfig.h | 93 - .../ClassDriver/PrinterHost/PrinterHost.c | 234 - .../ClassDriver/PrinterHost/PrinterHost.h | 81 - .../ClassDriver/PrinterHost/PrinterHost.txt | 66 - .../Host/ClassDriver/PrinterHost/asf.xml | 48 - .../Host/ClassDriver/PrinterHost/doxyfile | 2395 ---------- .../Host/ClassDriver/PrinterHost/makefile | 43 - .../RNDISEthernetHost/Config/LUFAConfig.h | 93 - .../RNDISEthernetHost/RNDISEthernetHost.c | 253 - .../RNDISEthernetHost/RNDISEthernetHost.h | 81 - .../RNDISEthernetHost/RNDISEthernetHost.txt | 63 - .../ClassDriver/RNDISEthernetHost/asf.xml | 48 - .../ClassDriver/RNDISEthernetHost/doxyfile | 2395 ---------- .../ClassDriver/RNDISEthernetHost/makefile | 43 - .../StillImageHost/Config/LUFAConfig.h | 93 - .../StillImageHost/StillImageHost.c | 230 - .../StillImageHost/StillImageHost.h | 78 - .../StillImageHost/StillImageHost.txt | 65 - .../Host/ClassDriver/StillImageHost/asf.xml | 48 - .../Host/ClassDriver/StillImageHost/doxyfile | 2395 ---------- .../Host/ClassDriver/StillImageHost/makefile | 43 - .../VirtualSerialHost/Config/LUFAConfig.h | 93 - .../VirtualSerialHost/VirtualSerialHost.c | 217 - .../VirtualSerialHost/VirtualSerialHost.h | 78 - .../VirtualSerialHost/VirtualSerialHost.txt | 66 - .../ClassDriver/VirtualSerialHost/asf.xml | 48 - .../ClassDriver/VirtualSerialHost/doxyfile | 2395 ---------- .../ClassDriver/VirtualSerialHost/makefile | 43 - lib/lufa/Demos/Host/ClassDriver/makefile | 46 - .../AndroidAccessoryHost.c | 263 -- .../AndroidAccessoryHost.h | 86 - .../AndroidAccessoryHost.txt | 62 - .../AndroidAccessoryHost/Config/LUFAConfig.h | 93 - .../AndroidAccessoryHost/ConfigDescriptor.c | 164 - .../AndroidAccessoryHost/ConfigDescriptor.h | 67 - .../AndroidAccessoryHost/DeviceDescriptor.c | 67 - .../AndroidAccessoryHost/DeviceDescriptor.h | 60 - .../Lib/AndroidAccessoryCommands.c | 84 - .../Lib/AndroidAccessoryCommands.h | 52 - .../LowLevel/AndroidAccessoryHost/asf.xml | 55 - .../LowLevel/AndroidAccessoryHost/doxyfile | 2395 ---------- .../LowLevel/AndroidAccessoryHost/makefile | 43 - .../LowLevel/AudioInputHost/AudioInputHost.c | 250 - .../LowLevel/AudioInputHost/AudioInputHost.h | 79 - .../AudioInputHost/AudioInputHost.txt | 66 - .../AudioInputHost/Config/LUFAConfig.h | 93 - .../AudioInputHost/ConfigDescriptor.c | 220 - .../AudioInputHost/ConfigDescriptor.h | 72 - .../Host/LowLevel/AudioInputHost/asf.xml | 50 - .../Host/LowLevel/AudioInputHost/doxyfile | 2395 ---------- .../Host/LowLevel/AudioInputHost/makefile | 43 - .../AudioOutputHost/AudioOutputHost.c | 250 - .../AudioOutputHost/AudioOutputHost.h | 88 - .../AudioOutputHost/AudioOutputHost.txt | 83 - .../AudioOutputHost/Config/AppConfig.h | 51 - .../AudioOutputHost/Config/LUFAConfig.h | 93 - .../AudioOutputHost/ConfigDescriptor.c | 220 - .../AudioOutputHost/ConfigDescriptor.h | 73 - .../Host/LowLevel/AudioOutputHost/asf.xml | 54 - .../Host/LowLevel/AudioOutputHost/doxyfile | 2395 ---------- .../Host/LowLevel/AudioOutputHost/makefile | 43 - .../GenericHIDHost/Config/LUFAConfig.h | 93 - .../GenericHIDHost/ConfigDescriptor.c | 183 - .../GenericHIDHost/ConfigDescriptor.h | 69 - .../LowLevel/GenericHIDHost/GenericHIDHost.c | 269 -- .../LowLevel/GenericHIDHost/GenericHIDHost.h | 93 - .../GenericHIDHost/GenericHIDHost.txt | 64 - .../Host/LowLevel/GenericHIDHost/asf.xml | 50 - .../Host/LowLevel/GenericHIDHost/doxyfile | 2395 ---------- .../Host/LowLevel/GenericHIDHost/makefile | 43 - .../Config/LUFAConfig.h | 93 - .../JoystickHostWithParser/ConfigDescriptor.c | 187 - .../JoystickHostWithParser/ConfigDescriptor.h | 69 - .../JoystickHostWithParser/HIDReport.c | 111 - .../JoystickHostWithParser/HIDReport.h | 79 - .../JoystickHostWithParser.c | 273 -- .../JoystickHostWithParser.h | 83 - .../JoystickHostWithParser.txt | 71 - .../LowLevel/JoystickHostWithParser/asf.xml | 52 - .../LowLevel/JoystickHostWithParser/doxyfile | 2395 ---------- .../LowLevel/JoystickHostWithParser/makefile | 43 - .../LowLevel/KeyboardHost/Config/LUFAConfig.h | 93 - .../LowLevel/KeyboardHost/ConfigDescriptor.c | 155 - .../LowLevel/KeyboardHost/ConfigDescriptor.h | 66 - .../Host/LowLevel/KeyboardHost/KeyboardHost.c | 264 -- .../Host/LowLevel/KeyboardHost/KeyboardHost.h | 80 - .../LowLevel/KeyboardHost/KeyboardHost.txt | 73 - .../Demos/Host/LowLevel/KeyboardHost/asf.xml | 50 - .../Demos/Host/LowLevel/KeyboardHost/doxyfile | 2395 ---------- .../Demos/Host/LowLevel/KeyboardHost/makefile | 43 - .../Config/LUFAConfig.h | 93 - .../KeyboardHostWithParser/ConfigDescriptor.c | 189 - .../KeyboardHostWithParser/ConfigDescriptor.h | 67 - .../KeyboardHostWithParser/HIDReport.c | 90 - .../KeyboardHostWithParser/HIDReport.h | 67 - .../KeyboardHostWithParser.c | 285 -- .../KeyboardHostWithParser.h | 78 - .../KeyboardHostWithParser.txt | 71 - .../LowLevel/KeyboardHostWithParser/asf.xml | 52 - .../LowLevel/KeyboardHostWithParser/doxyfile | 2395 ---------- .../LowLevel/KeyboardHostWithParser/makefile | 43 - .../LowLevel/MIDIHost/Config/LUFAConfig.h | 93 - .../Host/LowLevel/MIDIHost/ConfigDescriptor.c | 173 - .../Host/LowLevel/MIDIHost/ConfigDescriptor.h | 69 - .../Demos/Host/LowLevel/MIDIHost/MIDIHost.c | 266 -- .../Demos/Host/LowLevel/MIDIHost/MIDIHost.h | 82 - .../Demos/Host/LowLevel/MIDIHost/MIDIHost.txt | 60 - lib/lufa/Demos/Host/LowLevel/MIDIHost/asf.xml | 52 - .../Demos/Host/LowLevel/MIDIHost/doxyfile | 2395 ---------- .../Demos/Host/LowLevel/MIDIHost/makefile | 43 - .../MassStorageHost/Config/LUFAConfig.h | 93 - .../MassStorageHost/ConfigDescriptor.c | 173 - .../MassStorageHost/ConfigDescriptor.h | 78 - .../MassStorageHost/Lib/MassStoreCommands.c | 635 --- .../MassStorageHost/Lib/MassStoreCommands.h | 86 - .../MassStorageHost/MassStorageHost.c | 373 -- .../MassStorageHost/MassStorageHost.h | 91 - .../MassStorageHost/MassStorageHost.txt | 68 - .../Host/LowLevel/MassStorageHost/asf.xml | 53 - .../Host/LowLevel/MassStorageHost/doxyfile | 2395 ---------- .../Host/LowLevel/MassStorageHost/makefile | 43 - .../LowLevel/MouseHost/Config/LUFAConfig.h | 93 - .../LowLevel/MouseHost/ConfigDescriptor.c | 159 - .../LowLevel/MouseHost/ConfigDescriptor.h | 66 - .../Demos/Host/LowLevel/MouseHost/MouseHost.c | 250 - .../Demos/Host/LowLevel/MouseHost/MouseHost.h | 82 - .../Host/LowLevel/MouseHost/MouseHost.txt | 74 - .../Demos/Host/LowLevel/MouseHost/asf.xml | 50 - .../Demos/Host/LowLevel/MouseHost/doxyfile | 2395 ---------- .../Demos/Host/LowLevel/MouseHost/makefile | 43 - .../MouseHostWithParser/Config/LUFAConfig.h | 93 - .../MouseHostWithParser/ConfigDescriptor.c | 187 - .../MouseHostWithParser/ConfigDescriptor.h | 67 - .../LowLevel/MouseHostWithParser/HIDReport.c | 111 - .../LowLevel/MouseHostWithParser/HIDReport.h | 82 - .../MouseHostWithParser/MouseHostWithParser.c | 289 -- .../MouseHostWithParser/MouseHostWithParser.h | 83 - .../MouseHostWithParser.txt | 71 - .../Host/LowLevel/MouseHostWithParser/asf.xml | 52 - .../LowLevel/MouseHostWithParser/doxyfile | 2395 ---------- .../LowLevel/MouseHostWithParser/makefile | 43 - .../LowLevel/PrinterHost/Config/LUFAConfig.h | 93 - .../LowLevel/PrinterHost/ConfigDescriptor.c | 177 - .../LowLevel/PrinterHost/ConfigDescriptor.h | 76 - .../PrinterHost/Lib/PrinterCommands.c | 162 - .../PrinterHost/Lib/PrinterCommands.h | 56 - .../Host/LowLevel/PrinterHost/PrinterHost.c | 226 - .../Host/LowLevel/PrinterHost/PrinterHost.h | 88 - .../Host/LowLevel/PrinterHost/PrinterHost.txt | 66 - .../Demos/Host/LowLevel/PrinterHost/asf.xml | 53 - .../Demos/Host/LowLevel/PrinterHost/doxyfile | 2395 ---------- .../Demos/Host/LowLevel/PrinterHost/makefile | 43 - .../RNDISEthernetHost/Config/LUFAConfig.h | 93 - .../RNDISEthernetHost/ConfigDescriptor.c | 235 - .../RNDISEthernetHost/ConfigDescriptor.h | 73 - .../RNDISEthernetHost/Lib/RNDISCommands.c | 311 -- .../RNDISEthernetHost/Lib/RNDISCommands.h | 70 - .../RNDISEthernetHost/RNDISEthernetHost.c | 249 - .../RNDISEthernetHost/RNDISEthernetHost.h | 85 - .../LowLevel/RNDISEthernetHost/RNDISHost.txt | 63 - .../Host/LowLevel/RNDISEthernetHost/asf.xml | 53 - .../Host/LowLevel/RNDISEthernetHost/doxyfile | 2395 ---------- .../Host/LowLevel/RNDISEthernetHost/makefile | 43 - .../StillImageHost/Config/LUFAConfig.h | 93 - .../StillImageHost/ConfigDescriptor.c | 190 - .../StillImageHost/ConfigDescriptor.h | 72 - .../LowLevel/StillImageHost/Lib/PIMACodes.h | 45 - .../StillImageHost/Lib/StillImageCommands.c | 268 -- .../StillImageHost/Lib/StillImageCommands.h | 65 - .../LowLevel/StillImageHost/StillImageHost.c | 365 -- .../LowLevel/StillImageHost/StillImageHost.h | 89 - .../StillImageHost/StillImageHost.txt | 65 - .../Host/LowLevel/StillImageHost/asf.xml | 54 - .../Host/LowLevel/StillImageHost/doxyfile | 2395 ---------- .../Host/LowLevel/StillImageHost/makefile | 43 - .../VirtualSerialHost/Config/LUFAConfig.h | 93 - .../VirtualSerialHost/ConfigDescriptor.c | 234 - .../VirtualSerialHost/ConfigDescriptor.h | 73 - .../VirtualSerialHost/VirtualSerialHost.c | 239 - .../VirtualSerialHost/VirtualSerialHost.h | 80 - .../VirtualSerialHost/VirtualSerialHost.txt | 66 - .../Host/LowLevel/VirtualSerialHost/asf.xml | 50 - .../Host/LowLevel/VirtualSerialHost/doxyfile | 2395 ---------- .../Host/LowLevel/VirtualSerialHost/makefile | 43 - lib/lufa/Demos/Host/LowLevel/makefile | 46 - lib/lufa/Demos/Host/makefile | 21 - lib/lufa/Demos/makefile | 22 - lib/lufa/LUFA/Build/DMBS/.gitignore | 9 - .../HID_EEPROM_Loader/HID_EEPROM_Loader.c | 39 - .../DMBS/DMBS/HID_EEPROM_Loader/makefile | 35 - lib/lufa/LUFA/Build/DMBS/DMBS/License.txt | 32 - .../LUFA/Build/DMBS/DMBS/ModulesOverview.md | 38 - .../Build/DMBS/DMBS/WritingYourOwnModules.md | 95 - lib/lufa/LUFA/Build/DMBS/DMBS/atprogram.md | 119 - lib/lufa/LUFA/Build/DMBS/DMBS/atprogram.mk | 68 - lib/lufa/LUFA/Build/DMBS/DMBS/avrdude.md | 124 - lib/lufa/LUFA/Build/DMBS/DMBS/avrdude.mk | 52 - lib/lufa/LUFA/Build/DMBS/DMBS/core.md | 136 - lib/lufa/LUFA/Build/DMBS/DMBS/core.mk | 147 - lib/lufa/LUFA/Build/DMBS/DMBS/cppcheck.md | 134 - lib/lufa/LUFA/Build/DMBS/DMBS/cppcheck.mk | 66 - lib/lufa/LUFA/Build/DMBS/DMBS/dfu.md | 122 - lib/lufa/LUFA/Build/DMBS/DMBS/dfu.mk | 62 - lib/lufa/LUFA/Build/DMBS/DMBS/doxygen.md | 118 - lib/lufa/LUFA/Build/DMBS/DMBS/doxygen.mk | 62 - lib/lufa/LUFA/Build/DMBS/DMBS/gcc.md | 211 - lib/lufa/LUFA/Build/DMBS/DMBS/gcc.mk | 273 -- lib/lufa/LUFA/Build/DMBS/DMBS/hid.md | 129 - lib/lufa/LUFA/Build/DMBS/DMBS/hid.mk | 57 - lib/lufa/LUFA/Build/DMBS/Readme.md | 123 - lib/lufa/LUFA/Build/DMBS/Template/Template.c | 12 - lib/lufa/LUFA/Build/DMBS/Template/makefile | 32 - lib/lufa/LUFA/Build/LUFA/lufa-gcc.mk | 43 - lib/lufa/LUFA/Build/LUFA/lufa-sources.mk | 95 - lib/lufa/LUFA/Build/lufa_atprogram.mk | 10 - lib/lufa/LUFA/Build/lufa_avrdude.mk | 10 - lib/lufa/LUFA/Build/lufa_build.mk | 12 - lib/lufa/LUFA/Build/lufa_core.mk | 10 - lib/lufa/LUFA/Build/lufa_cppcheck.mk | 10 - lib/lufa/LUFA/Build/lufa_dfu.mk | 10 - lib/lufa/LUFA/Build/lufa_doxygen.mk | 10 - lib/lufa/LUFA/Build/lufa_hid.mk | 10 - lib/lufa/LUFA/Build/lufa_sources.mk | 10 - .../DeviceTemplate/Descriptors.c | 180 - .../DeviceTemplate/Descriptors.h | 59 - .../DeviceTemplate/DeviceApplication.c | 106 - .../DeviceTemplate/DeviceApplication.h | 53 - .../LUFA/CodeTemplates/DeviceTemplate/asf.xml | 55 - .../LUFA/CodeTemplates/DriverStubs/Board.h | 82 - .../LUFA/CodeTemplates/DriverStubs/Buttons.h | 90 - .../CodeTemplates/DriverStubs/Dataflash.h | 223 - .../LUFA/CodeTemplates/DriverStubs/Joystick.h | 102 - .../LUFA/CodeTemplates/DriverStubs/LEDs.h | 130 - .../HostTemplate/HostApplication.c | 133 - .../HostTemplate/HostApplication.h | 56 - .../LUFA/CodeTemplates/HostTemplate/asf.xml | 41 - lib/lufa/LUFA/CodeTemplates/LUFAConfig.h | 167 - .../CodeTemplates/WindowsINF/LUFA CDC-ACM.inf | 64 - .../CodeTemplates/WindowsINF/LUFA RNDIS.inf | 59 - lib/lufa/LUFA/CodeTemplates/makefile_template | 43 - lib/lufa/LUFA/Common/ArchitectureSpecific.h | 185 - lib/lufa/LUFA/Common/Architectures.h | 84 - lib/lufa/LUFA/Common/Attributes.h | 150 - lib/lufa/LUFA/Common/BoardTypes.h | 263 -- lib/lufa/LUFA/Common/Common.h | 393 -- lib/lufa/LUFA/Common/CompilerSpecific.h | 97 - lib/lufa/LUFA/Common/Endianness.h | 493 -- lib/lufa/LUFA/DoxygenPages/BuildSystem.txt | 281 -- .../BuildingLinkableLibraries.txt | 23 - lib/lufa/LUFA/DoxygenPages/ChangeLog.txt | 1653 ------- .../LUFA/DoxygenPages/CompileTimeTokens.txt | 223 - lib/lufa/LUFA/DoxygenPages/CompilingApps.txt | 46 - .../LUFA/DoxygenPages/ConfiguringApps.txt | 157 - .../LUFA/DoxygenPages/DevelopingWithLUFA.txt | 23 - lib/lufa/LUFA/DoxygenPages/DeviceSupport.txt | 424 -- .../LUFA/DoxygenPages/DirectorySummaries.txt | 80 - lib/lufa/LUFA/DoxygenPages/Donating.txt | 25 - lib/lufa/LUFA/DoxygenPages/FutureChanges.txt | 47 - lib/lufa/LUFA/DoxygenPages/GettingStarted.txt | 37 - lib/lufa/LUFA/DoxygenPages/Groups.txt | 38 - lib/lufa/LUFA/DoxygenPages/Images/Author.jpg | Bin 28410 -> 0 bytes lib/lufa/LUFA/DoxygenPages/Images/LUFA.png | Bin 10296 -> 0 bytes .../LUFA/DoxygenPages/Images/LUFA_thumb.png | Bin 3729 -> 0 bytes lib/lufa/LUFA/DoxygenPages/KnownIssues.txt | 234 - .../LUFA/DoxygenPages/LUFAPoweredProjects.txt | 226 - .../LUFA/DoxygenPages/LibraryResources.txt | 33 - lib/lufa/LUFA/DoxygenPages/LicenseInfo.txt | 43 - lib/lufa/LUFA/DoxygenPages/MainPage.txt | 52 - .../DoxygenPages/MigrationInformation.txt | 717 --- lib/lufa/LUFA/DoxygenPages/OSDrivers.txt | 111 - .../LUFA/DoxygenPages/ProgrammingApps.txt | 27 - .../DoxygenPages/SoftwareBootloaderJump.txt | 71 - lib/lufa/LUFA/DoxygenPages/Style/Footer.htm | 35 - lib/lufa/LUFA/DoxygenPages/Style/Style.css | 93 - .../LUFA/DoxygenPages/VIDAndPIDValues.txt | 199 - .../LUFA/DoxygenPages/WritingBoardDrivers.txt | 47 - .../Drivers/Board/AVR8/ADAFRUITU4/Board.h | 78 - .../LUFA/Drivers/Board/AVR8/ADAFRUITU4/LEDs.h | 135 - .../Drivers/Board/AVR8/ATAVRUSBRF01/Board.h | 82 - .../Drivers/Board/AVR8/ATAVRUSBRF01/Buttons.h | 103 - .../Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h | 139 - .../LUFA/Drivers/Board/AVR8/BENITO/Board.h | 82 - .../LUFA/Drivers/Board/AVR8/BENITO/Buttons.h | 103 - .../LUFA/Drivers/Board/AVR8/BENITO/LEDs.h | 139 - .../LUFA/Drivers/Board/AVR8/BIGMULTIO/Board.h | 78 - .../LUFA/Drivers/Board/AVR8/BIGMULTIO/LEDs.h | 161 - .../LUFA/Drivers/Board/AVR8/BLACKCAT/Board.h | 78 - .../LUFA/Drivers/Board/AVR8/BLACKCAT/LEDs.h | 139 - lib/lufa/LUFA/Drivers/Board/AVR8/BUI/Board.h | 78 - lib/lufa/LUFA/Drivers/Board/AVR8/BUI/LEDs.h | 143 - .../LUFA/Drivers/Board/AVR8/BUMBLEB/Board.h | 86 - .../LUFA/Drivers/Board/AVR8/BUMBLEB/Buttons.h | 105 - .../Drivers/Board/AVR8/BUMBLEB/Joystick.h | 123 - .../LUFA/Drivers/Board/AVR8/BUMBLEB/LEDs.h | 149 - .../LUFA/Drivers/Board/AVR8/CULV3/Board.h | 82 - .../LUFA/Drivers/Board/AVR8/CULV3/Buttons.h | 103 - lib/lufa/LUFA/Drivers/Board/AVR8/CULV3/LEDs.h | 135 - lib/lufa/LUFA/Drivers/Board/AVR8/DUCE/Board.h | 78 - lib/lufa/LUFA/Drivers/Board/AVR8/DUCE/LEDs.h | 147 - .../LUFA/Drivers/Board/AVR8/EVK527/Board.h | 90 - .../LUFA/Drivers/Board/AVR8/EVK527/Buttons.h | 103 - .../Drivers/Board/AVR8/EVK527/Dataflash.h | 222 - .../LUFA/Drivers/Board/AVR8/EVK527/Joystick.h | 130 - .../LUFA/Drivers/Board/AVR8/EVK527/LEDs.h | 143 - .../LUFA/Drivers/Board/AVR8/JMDBU2/Board.h | 82 - .../LUFA/Drivers/Board/AVR8/JMDBU2/Buttons.h | 103 - .../LUFA/Drivers/Board/AVR8/JMDBU2/LEDs.h | 135 - .../LUFA/Drivers/Board/AVR8/LEONARDO/Board.h | 78 - .../LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h | 169 - .../LUFA/Drivers/Board/AVR8/MAXIMUS/Board.h | 78 - .../LUFA/Drivers/Board/AVR8/MAXIMUS/LEDs.h | 139 - .../LUFA/Drivers/Board/AVR8/MICRO/Board.h | 78 - lib/lufa/LUFA/Drivers/Board/AVR8/MICRO/LEDs.h | 169 - .../Drivers/Board/AVR8/MICROPENDOUS/Board.h | 149 - .../Drivers/Board/AVR8/MICROPENDOUS/Buttons.h | 205 - .../Drivers/Board/AVR8/MICROPENDOUS/LEDs.h | 174 - .../Drivers/Board/AVR8/MICROSIN162/Board.h | 82 - .../Drivers/Board/AVR8/MICROSIN162/Buttons.h | 103 - .../Drivers/Board/AVR8/MICROSIN162/LEDs.h | 135 - .../LUFA/Drivers/Board/AVR8/MINIMUS/Board.h | 82 - .../LUFA/Drivers/Board/AVR8/MINIMUS/Buttons.h | 103 - .../LUFA/Drivers/Board/AVR8/MINIMUS/LEDs.h | 139 - .../LUFA/Drivers/Board/AVR8/MULTIO/Board.h | 78 - .../LUFA/Drivers/Board/AVR8/MULTIO/LEDs.h | 161 - .../LUFA/Drivers/Board/AVR8/OLIMEX162/Board.h | 82 - .../Drivers/Board/AVR8/OLIMEX162/Buttons.h | 103 - .../LUFA/Drivers/Board/AVR8/OLIMEX162/LEDs.h | 135 - .../Drivers/Board/AVR8/OLIMEX32U4/Board.h | 82 - .../Drivers/Board/AVR8/OLIMEX32U4/Buttons.h | 103 - .../LUFA/Drivers/Board/AVR8/OLIMEX32U4/LEDs.h | 179 - .../Drivers/Board/AVR8/OLIMEXISPMK2/Board.h | 82 - .../Drivers/Board/AVR8/OLIMEXISPMK2/Buttons.h | 103 - .../Drivers/Board/AVR8/OLIMEXISPMK2/LEDs.h | 143 - .../Drivers/Board/AVR8/OLIMEXT32U4/Board.h | 82 - .../Drivers/Board/AVR8/OLIMEXT32U4/Buttons.h | 103 - .../Drivers/Board/AVR8/OLIMEXT32U4/LEDs.h | 169 - .../Drivers/Board/AVR8/POLOLUMICRO/Board.h | 79 - .../Drivers/Board/AVR8/POLOLUMICRO/LEDs.h | 154 - lib/lufa/LUFA/Drivers/Board/AVR8/QMK/Board.h | 65 - lib/lufa/LUFA/Drivers/Board/AVR8/QMK/LEDs.h | 204 - .../Drivers/Board/AVR8/RZUSBSTICK/Board.h | 78 - .../LUFA/Drivers/Board/AVR8/RZUSBSTICK/LEDs.h | 175 - .../Drivers/Board/AVR8/SPARKFUN8U2/Board.h | 78 - .../Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h | 135 - .../Drivers/Board/AVR8/STANGE_ISP/Board.h | 82 - .../Drivers/Board/AVR8/STANGE_ISP/Buttons.h | 103 - .../LUFA/Drivers/Board/AVR8/STANGE_ISP/LEDs.h | 138 - .../LUFA/Drivers/Board/AVR8/STK525/Board.h | 90 - .../LUFA/Drivers/Board/AVR8/STK525/Buttons.h | 103 - .../Drivers/Board/AVR8/STK525/Dataflash.h | 222 - .../LUFA/Drivers/Board/AVR8/STK525/Joystick.h | 130 - .../LUFA/Drivers/Board/AVR8/STK525/LEDs.h | 147 - .../LUFA/Drivers/Board/AVR8/STK526/Board.h | 90 - .../LUFA/Drivers/Board/AVR8/STK526/Buttons.h | 103 - .../Drivers/Board/AVR8/STK526/Dataflash.h | 222 - .../LUFA/Drivers/Board/AVR8/STK526/Joystick.h | 123 - .../LUFA/Drivers/Board/AVR8/STK526/LEDs.h | 147 - .../LUFA/Drivers/Board/AVR8/TEENSY/Board.h | 85 - .../LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h | 176 - lib/lufa/LUFA/Drivers/Board/AVR8/TUL/Board.h | 82 - .../LUFA/Drivers/Board/AVR8/TUL/Buttons.h | 103 - lib/lufa/LUFA/Drivers/Board/AVR8/TUL/LEDs.h | 135 - lib/lufa/LUFA/Drivers/Board/AVR8/U2S/Board.h | 82 - .../LUFA/Drivers/Board/AVR8/U2S/Buttons.h | 103 - lib/lufa/LUFA/Drivers/Board/AVR8/U2S/LEDs.h | 135 - lib/lufa/LUFA/Drivers/Board/AVR8/UDIP/Board.h | 82 - .../LUFA/Drivers/Board/AVR8/UDIP/Buttons.h | 103 - lib/lufa/LUFA/Drivers/Board/AVR8/UDIP/LEDs.h | 163 - lib/lufa/LUFA/Drivers/Board/AVR8/UNO/Board.h | 84 - lib/lufa/LUFA/Drivers/Board/AVR8/UNO/LEDs.h | 145 - .../LUFA/Drivers/Board/AVR8/USB2AX/Board.h | 105 - .../LUFA/Drivers/Board/AVR8/USB2AX/Buttons.h | 120 - .../LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h | 218 - .../LUFA/Drivers/Board/AVR8/USBFOO/Board.h | 82 - .../LUFA/Drivers/Board/AVR8/USBFOO/Buttons.h | 103 - .../LUFA/Drivers/Board/AVR8/USBFOO/LEDs.h | 135 - .../LUFA/Drivers/Board/AVR8/USBKEY/Board.h | 90 - .../LUFA/Drivers/Board/AVR8/USBKEY/Buttons.h | 103 - .../Drivers/Board/AVR8/USBKEY/Dataflash.h | 237 - .../LUFA/Drivers/Board/AVR8/USBKEY/Joystick.h | 130 - .../LUFA/Drivers/Board/AVR8/USBKEY/LEDs.h | 147 - .../Drivers/Board/AVR8/USBTINYMKII/Board.h | 82 - .../Drivers/Board/AVR8/USBTINYMKII/Buttons.h | 103 - .../Drivers/Board/AVR8/USBTINYMKII/LEDs.h | 143 - .../LUFA/Drivers/Board/AVR8/XPLAIN/Board.h | 89 - .../Drivers/Board/AVR8/XPLAIN/Dataflash.h | 245 - .../LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h | 142 - .../Drivers/Board/AVR8/XPLAINED_MINI/Board.h | 78 - .../Drivers/Board/AVR8/XPLAINED_MINI/LEDs.h | 135 - lib/lufa/LUFA/Drivers/Board/AVR8/YUN/Board.h | 78 - lib/lufa/LUFA/Drivers/Board/AVR8/YUN/LEDs.h | 169 - lib/lufa/LUFA/Drivers/Board/Board.h | 173 - lib/lufa/LUFA/Drivers/Board/Buttons.h | 189 - lib/lufa/LUFA/Drivers/Board/Dataflash.h | 264 -- lib/lufa/LUFA/Drivers/Board/Joystick.h | 152 - lib/lufa/LUFA/Drivers/Board/LEDs.h | 304 -- lib/lufa/LUFA/Drivers/Board/Temperature.c | 66 - lib/lufa/LUFA/Drivers/Board/Temperature.h | 147 - .../LUFA/Drivers/Board/UC3/EVK1100/Board.h | 86 - .../LUFA/Drivers/Board/UC3/EVK1100/Buttons.h | 117 - .../LUFA/Drivers/Board/UC3/EVK1100/Joystick.h | 122 - .../LUFA/Drivers/Board/UC3/EVK1100/LEDs.h | 173 - .../LUFA/Drivers/Board/UC3/EVK1101/Board.h | 86 - .../LUFA/Drivers/Board/UC3/EVK1101/Buttons.h | 113 - .../LUFA/Drivers/Board/UC3/EVK1101/Joystick.h | 131 - .../LUFA/Drivers/Board/UC3/EVK1101/LEDs.h | 156 - .../LUFA/Drivers/Board/UC3/EVK1104/Board.h | 82 - .../LUFA/Drivers/Board/UC3/EVK1104/Buttons.h | 109 - .../LUFA/Drivers/Board/UC3/EVK1104/LEDs.h | 174 - .../Drivers/Board/UC3/UC3A3_XPLAINED/Board.h | 82 - .../Board/UC3/UC3A3_XPLAINED/Buttons.h | 109 - .../Drivers/Board/UC3/UC3A3_XPLAINED/LEDs.h | 182 - .../Drivers/Board/XMEGA/A3BU_XPLAINED/Board.h | 86 - .../Board/XMEGA/A3BU_XPLAINED/Buttons.h | 119 - .../Board/XMEGA/A3BU_XPLAINED/Dataflash.h | 228 - .../Drivers/Board/XMEGA/A3BU_XPLAINED/LEDs.h | 181 - .../Drivers/Board/XMEGA/B1_XPLAINED/Board.h | 86 - .../Drivers/Board/XMEGA/B1_XPLAINED/Buttons.h | 119 - .../Board/XMEGA/B1_XPLAINED/Dataflash.h | 229 - .../Drivers/Board/XMEGA/B1_XPLAINED/LEDs.h | 183 - .../Drivers/Board/XMEGA/C3_XPLAINED/Board.h | 83 - .../Drivers/Board/XMEGA/C3_XPLAINED/Buttons.h | 109 - .../Drivers/Board/XMEGA/C3_XPLAINED/LEDs.h | 181 - lib/lufa/LUFA/Drivers/Misc/AT45DB321C.h | 100 - lib/lufa/LUFA/Drivers/Misc/AT45DB642D.h | 116 - lib/lufa/LUFA/Drivers/Misc/RingBuffer.h | 308 -- lib/lufa/LUFA/Drivers/Misc/TerminalCodes.h | 231 - lib/lufa/LUFA/Drivers/Peripheral/ADC.h | 75 - .../LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h | 446 -- .../LUFA/Drivers/Peripheral/AVR8/SPI_AVR8.h | 258 - .../Drivers/Peripheral/AVR8/SerialSPI_AVR8.h | 208 - .../Drivers/Peripheral/AVR8/Serial_AVR8.c | 121 - .../Drivers/Peripheral/AVR8/Serial_AVR8.h | 271 -- .../LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c | 209 - .../LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.h | 305 -- lib/lufa/LUFA/Drivers/Peripheral/SPI.h | 76 - lib/lufa/LUFA/Drivers/Peripheral/Serial.h | 76 - lib/lufa/LUFA/Drivers/Peripheral/SerialSPI.h | 76 - lib/lufa/LUFA/Drivers/Peripheral/TWI.h | 76 - .../LUFA/Drivers/Peripheral/XMEGA/SPI_XMEGA.h | 251 - .../Peripheral/XMEGA/SerialSPI_XMEGA.h | 212 - .../Drivers/Peripheral/XMEGA/Serial_XMEGA.c | 126 - .../Drivers/Peripheral/XMEGA/Serial_XMEGA.h | 289 -- .../LUFA/Drivers/Peripheral/XMEGA/TWI_XMEGA.c | 185 - .../LUFA/Drivers/Peripheral/XMEGA/TWI_XMEGA.h | 302 -- .../Drivers/USB/Class/AndroidAccessoryClass.h | 77 - lib/lufa/LUFA/Drivers/USB/Class/AudioClass.h | 81 - lib/lufa/LUFA/Drivers/USB/Class/CDCClass.h | 81 - .../Common/AndroidAccessoryClassCommon.h | 129 - .../USB/Class/Common/AudioClassCommon.h | 780 ---- .../Drivers/USB/Class/Common/CDCClassCommon.h | 391 -- .../Drivers/USB/Class/Common/HIDClassCommon.h | 681 --- .../LUFA/Drivers/USB/Class/Common/HIDParser.c | 389 -- .../LUFA/Drivers/USB/Class/Common/HIDParser.h | 364 -- .../Drivers/USB/Class/Common/HIDReportData.h | 126 - .../USB/Class/Common/MIDIClassCommon.h | 363 -- .../USB/Class/Common/MassStorageClassCommon.h | 368 -- .../USB/Class/Common/PrinterClassCommon.h | 119 - .../USB/Class/Common/RNDISClassCommon.h | 411 -- .../USB/Class/Common/StillImageClassCommon.h | 161 - .../USB/Class/Device/AudioClassDevice.c | 197 - .../USB/Class/Device/AudioClassDevice.h | 396 -- .../Drivers/USB/Class/Device/CDCClassDevice.c | 367 -- .../Drivers/USB/Class/Device/CDCClassDevice.h | 387 -- .../Drivers/USB/Class/Device/HIDClassDevice.c | 211 - .../Drivers/USB/Class/Device/HIDClassDevice.h | 210 - .../USB/Class/Device/MIDIClassDevice.c | 131 - .../USB/Class/Device/MIDIClassDevice.h | 175 - .../USB/Class/Device/MassStorageClassDevice.c | 215 - .../USB/Class/Device/MassStorageClassDevice.h | 161 - .../USB/Class/Device/PrinterClassDevice.c | 314 -- .../USB/Class/Device/PrinterClassDevice.h | 293 -- .../USB/Class/Device/RNDISClassDevice.c | 508 -- .../USB/Class/Device/RNDISClassDevice.h | 207 - lib/lufa/LUFA/Drivers/USB/Class/HIDClass.h | 82 - .../Class/Host/AndroidAccessoryClassHost.c | 422 -- .../Class/Host/AndroidAccessoryClassHost.h | 314 -- .../Drivers/USB/Class/Host/AudioClassHost.c | 223 - .../Drivers/USB/Class/Host/AudioClassHost.h | 411 -- .../Drivers/USB/Class/Host/CDCClassHost.c | 512 -- .../Drivers/USB/Class/Host/CDCClassHost.h | 385 -- .../Drivers/USB/Class/Host/HIDClassHost.c | 399 -- .../Drivers/USB/Class/Host/HIDClassHost.h | 313 -- .../Drivers/USB/Class/Host/MIDIClassHost.c | 231 - .../Drivers/USB/Class/Host/MIDIClassHost.h | 190 - .../USB/Class/Host/MassStorageClassHost.c | 579 --- .../USB/Class/Host/MassStorageClassHost.h | 335 -- .../Drivers/USB/Class/Host/PrinterClassHost.c | 400 -- .../Drivers/USB/Class/Host/PrinterClassHost.h | 285 -- .../Drivers/USB/Class/Host/RNDISClassHost.c | 476 -- .../Drivers/USB/Class/Host/RNDISClassHost.h | 270 -- .../USB/Class/Host/StillImageClassHost.c | 436 -- .../USB/Class/Host/StillImageClassHost.h | 317 -- lib/lufa/LUFA/Drivers/USB/Class/MIDIClass.h | 84 - .../LUFA/Drivers/USB/Class/MassStorageClass.h | 81 - .../LUFA/Drivers/USB/Class/PrinterClass.h | 83 - lib/lufa/LUFA/Drivers/USB/Class/RNDISClass.h | 81 - .../LUFA/Drivers/USB/Class/StillImageClass.h | 76 - .../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.c | 57 - .../LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h | 269 -- .../USB/Core/AVR8/EndpointStream_AVR8.c | 275 -- .../USB/Core/AVR8/EndpointStream_AVR8.h | 658 --- .../Drivers/USB/Core/AVR8/Endpoint_AVR8.c | 201 - .../Drivers/USB/Core/AVR8/Endpoint_AVR8.h | 819 ---- .../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c | 297 -- .../LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h | 372 -- .../LUFA/Drivers/USB/Core/AVR8/OTG_AVR8.h | 159 - .../Drivers/USB/Core/AVR8/PipeStream_AVR8.c | 221 - .../Drivers/USB/Core/AVR8/PipeStream_AVR8.h | 442 -- .../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c | 210 - .../LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h | 922 ---- .../Template/Template_Endpoint_Control_R.c | 84 - .../Template/Template_Endpoint_Control_W.c | 95 - .../Core/AVR8/Template/Template_Endpoint_RW.c | 89 - .../USB/Core/AVR8/Template/Template_Pipe_RW.c | 88 - .../USB/Core/AVR8/USBController_AVR8.c | 273 -- .../USB/Core/AVR8/USBController_AVR8.h | 432 -- .../Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c | 279 -- .../Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h | 375 -- .../LUFA/Drivers/USB/Core/ConfigDescriptors.c | 146 - .../LUFA/Drivers/USB/Core/ConfigDescriptors.h | 287 -- lib/lufa/LUFA/Drivers/USB/Core/Device.h | 159 - .../LUFA/Drivers/USB/Core/DeviceStandardReq.c | 393 -- .../LUFA/Drivers/USB/Core/DeviceStandardReq.h | 158 - lib/lufa/LUFA/Drivers/USB/Core/Endpoint.h | 130 - .../LUFA/Drivers/USB/Core/EndpointStream.h | 124 - lib/lufa/LUFA/Drivers/USB/Core/Events.c | 48 - lib/lufa/LUFA/Drivers/USB/Core/Events.h | 374 -- lib/lufa/LUFA/Drivers/USB/Core/Host.h | 139 - .../LUFA/Drivers/USB/Core/HostStandardReq.c | 322 -- .../LUFA/Drivers/USB/Core/HostStandardReq.h | 292 -- lib/lufa/LUFA/Drivers/USB/Core/OTG.h | 80 - lib/lufa/LUFA/Drivers/USB/Core/Pipe.h | 144 - lib/lufa/LUFA/Drivers/USB/Core/PipeStream.h | 100 - .../LUFA/Drivers/USB/Core/StdDescriptors.h | 765 --- .../LUFA/Drivers/USB/Core/StdRequestType.h | 258 - .../LUFA/Drivers/USB/Core/UC3/Device_UC3.c | 51 - .../LUFA/Drivers/USB/Core/UC3/Device_UC3.h | 267 -- .../Drivers/USB/Core/UC3/EndpointStream_UC3.c | 235 - .../Drivers/USB/Core/UC3/EndpointStream_UC3.h | 438 -- .../LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c | 196 - .../LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h | 794 ---- lib/lufa/LUFA/Drivers/USB/Core/UC3/Host_UC3.c | 297 -- lib/lufa/LUFA/Drivers/USB/Core/UC3/Host_UC3.h | 363 -- .../Drivers/USB/Core/UC3/PipeStream_UC3.c | 166 - .../Drivers/USB/Core/UC3/PipeStream_UC3.h | 352 -- lib/lufa/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c | 209 - lib/lufa/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h | 924 ---- .../Template/Template_Endpoint_Control_R.c | 84 - .../Template/Template_Endpoint_Control_W.c | 95 - .../Core/UC3/Template/Template_Endpoint_RW.c | 89 - .../USB/Core/UC3/Template/Template_Pipe_RW.c | 88 - .../Drivers/USB/Core/UC3/USBController_UC3.c | 222 - .../Drivers/USB/Core/UC3/USBController_UC3.h | 353 -- .../Drivers/USB/Core/UC3/USBInterrupt_UC3.c | 228 - .../Drivers/USB/Core/UC3/USBInterrupt_UC3.h | 376 -- .../LUFA/Drivers/USB/Core/USBController.h | 165 - lib/lufa/LUFA/Drivers/USB/Core/USBInterrupt.h | 73 - lib/lufa/LUFA/Drivers/USB/Core/USBMode.h | 283 -- lib/lufa/LUFA/Drivers/USB/Core/USBTask.c | 89 - lib/lufa/LUFA/Drivers/USB/Core/USBTask.h | 200 - .../Drivers/USB/Core/XMEGA/Device_XMEGA.c | 49 - .../Drivers/USB/Core/XMEGA/Device_XMEGA.h | 266 -- .../USB/Core/XMEGA/EndpointStream_XMEGA.c | 275 -- .../USB/Core/XMEGA/EndpointStream_XMEGA.h | 658 --- .../Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c | 268 -- .../Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h | 689 --- .../LUFA/Drivers/USB/Core/XMEGA/Host_XMEGA.c | 41 - .../Drivers/USB/Core/XMEGA/PipeStream_XMEGA.c | 41 - .../LUFA/Drivers/USB/Core/XMEGA/Pipe_XMEGA.c | 37 - .../Template/Template_Endpoint_Control_R.c | 86 - .../Template/Template_Endpoint_Control_W.c | 97 - .../XMEGA/Template/Template_Endpoint_RW.c | 89 - .../USB/Core/XMEGA/USBController_XMEGA.c | 204 - .../USB/Core/XMEGA/USBController_XMEGA.h | 313 -- .../USB/Core/XMEGA/USBInterrupt_XMEGA.c | 106 - .../USB/Core/XMEGA/USBInterrupt_XMEGA.h | 172 - lib/lufa/LUFA/Drivers/USB/USB.h | 422 -- lib/lufa/LUFA/License.txt | 24 - lib/lufa/LUFA/Platform/Platform.h | 80 - lib/lufa/LUFA/Platform/UC3/ClockManagement.h | 338 -- lib/lufa/LUFA/Platform/UC3/Exception.S | 128 - .../LUFA/Platform/UC3/InterruptManagement.c | 62 - .../LUFA/Platform/UC3/InterruptManagement.h | 174 - .../LUFA/Platform/UC3/UC3ExperimentalInfo.txt | 1 - .../LUFA/Platform/XMEGA/ClockManagement.h | 397 -- .../Platform/XMEGA/XMEGAExperimentalInfo.txt | 1 - .../Docbook/mshelp/README.txt | 13 - .../Docbook/mshelp/docbook.xsl | 58 - .../Docbook/mshelp/hv1-common.xsl | 664 --- .../StudioIntegration/Docbook/placeholder.txt | 1 - .../HV1/helpcontentsetup.msha | 27 - .../HV1/lufa_docbook_transform.xslt | 806 ---- .../HV1/lufa_helpcontentsetup_transform.xslt | 47 - .../HV1/lufa_hv1_transform.xslt | 45 - .../HV1/lufa_studio_help_styling.css | 53 - lib/lufa/LUFA/StudioIntegration/VSIX/LUFA.dll | Bin 785920 -> 0 bytes .../LUFA/StudioIntegration/VSIX/LUFA.pkgdef | Bin 2242 -> 0 bytes .../VSIX/[Content_Types].xml | 13 - .../StudioIntegration/VSIX/asf-manifest.xml | 18 - .../VSIX/extension.vsixmanifest | 32 - .../StudioIntegration/VSIX/generate_caches.py | 38 - .../VSIX/lufa_asfmanifest_transform.xslt | 36 - .../VSIX/lufa_vsmanifest_transform.xslt | 33 - .../XDK/lufa_extension_transform.xslt | 68 - .../XDK/lufa_filelist_transform.xslt | 35 - .../XDK/lufa_indent_transform.xslt | 23 - .../XDK/lufa_module_transform.xslt | 66 - lib/lufa/LUFA/StudioIntegration/lufa.xml | 96 - .../LUFA/StudioIntegration/lufa_common.xml | 34 - .../StudioIntegration/lufa_drivers_board.xml | 114 - .../lufa_drivers_board_names.xml | 853 ---- .../StudioIntegration/lufa_drivers_misc.xml | 57 - .../lufa_drivers_peripheral.xml | 198 - .../StudioIntegration/lufa_drivers_usb.xml | 32 - .../lufa_drivers_usb_class.xml | 32 - .../lufa_drivers_usb_class_android.xml | 54 - .../lufa_drivers_usb_class_audio.xml | 109 - .../lufa_drivers_usb_class_cdc.xml | 99 - .../lufa_drivers_usb_class_hid.xml | 99 - .../lufa_drivers_usb_class_midi.xml | 99 - .../lufa_drivers_usb_class_ms.xml | 99 - .../lufa_drivers_usb_class_printer.xml | 99 - .../lufa_drivers_usb_class_rndis.xml | 99 - .../lufa_drivers_usb_class_si.xml | 56 - .../lufa_drivers_usb_core.xml | 85 - .../lufa_drivers_usb_core_avr8.xml | 43 - .../lufa_drivers_usb_core_uc3.xml | 42 - .../lufa_drivers_usb_core_xmega.xml | 36 - .../LUFA/StudioIntegration/lufa_platform.xml | 60 - .../StudioIntegration/lufa_platform_uc3.xml | 26 - .../StudioIntegration/lufa_platform_xmega.xml | 23 - .../LUFA/StudioIntegration/lufa_toolchain.xml | 45 - lib/lufa/LUFA/StudioIntegration/makefile | 142 - lib/lufa/LUFA/Version.h | 67 - lib/lufa/LUFA/doxyfile | 2400 ---------- lib/lufa/LUFA/makefile | 40 - .../lufa_functionlist_transform.xslt | 19 - lib/lufa/Maintenance/makefile | 94 - lib/lufa/Projects/AVRISP-MKII/AVRISP-MKII.c | 164 - lib/lufa/Projects/AVRISP-MKII/AVRISP-MKII.h | 90 - lib/lufa/Projects/AVRISP-MKII/AVRISP-MKII.txt | 346 -- .../Projects/AVRISP-MKII/AVRISPDescriptors.c | 203 - .../Projects/AVRISP-MKII/AVRISPDescriptors.h | 100 - .../Projects/AVRISP-MKII/Config/AppConfig.h | 68 - .../Projects/AVRISP-MKII/Config/LUFAConfig.h | 93 - .../AVRISP-MKII/Lib/ISP/ISPProtocol.c | 531 --- .../AVRISP-MKII/Lib/ISP/ISPProtocol.h | 81 - .../Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c | 370 -- .../Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h | 147 - .../Projects/AVRISP-MKII/Lib/V2Protocol.c | 267 -- .../Projects/AVRISP-MKII/Lib/V2Protocol.h | 105 - .../AVRISP-MKII/Lib/V2ProtocolConstants.h | 90 - .../AVRISP-MKII/Lib/V2ProtocolParams.c | 207 - .../AVRISP-MKII/Lib/V2ProtocolParams.h | 91 - .../Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c | 274 -- .../Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h | 86 - .../Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c | 468 -- .../Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h | 140 - .../AVRISP-MKII/Lib/XPROG/XPROGProtocol.c | 480 -- .../AVRISP-MKII/Lib/XPROG/XPROGProtocol.h | 136 - .../AVRISP-MKII/Lib/XPROG/XPROGTarget.c | 209 - .../AVRISP-MKII/Lib/XPROG/XPROGTarget.h | 136 - .../AVRISP-MKII/WindowsDriver/AVRISP_mkII.inf | Bin 8070 -> 0 bytes .../WindowsDriver/amd64/libusb0.dll | Bin 76384 -> 0 bytes .../WindowsDriver/amd64/libusb0.sys | Bin 52832 -> 0 bytes .../AVRISP-MKII/WindowsDriver/avrisp_mkii.cat | Bin 9610 -> 0 bytes .../WindowsDriver/ia64/libusb0.dll | Bin 157792 -> 0 bytes .../WindowsDriver/ia64/libusb0.sys | Bin 110176 -> 0 bytes .../WindowsDriver/installer_x64.exe | Bin 25088 -> 0 bytes .../WindowsDriver/installer_x86.exe | Bin 23552 -> 0 bytes .../license/libusb0/installer_license.txt | 851 ---- .../AVRISP-MKII/WindowsDriver/x86/libusb0.sys | Bin 42592 -> 0 bytes .../WindowsDriver/x86/libusb0_x86.dll | Bin 67680 -> 0 bytes lib/lufa/Projects/AVRISP-MKII/asf.xml | 91 - lib/lufa/Projects/AVRISP-MKII/doxyfile | 2396 ---------- lib/lufa/Projects/AVRISP-MKII/makefile | 44 - lib/lufa/Projects/Benito/Benito.c | 311 -- lib/lufa/Projects/Benito/Benito.h | 79 - lib/lufa/Projects/Benito/Benito.txt | 106 - lib/lufa/Projects/Benito/Config/AppConfig.h | 57 - lib/lufa/Projects/Benito/Config/LUFAConfig.h | 93 - lib/lufa/Projects/Benito/Descriptors.c | 244 - lib/lufa/Projects/Benito/Descriptors.h | 112 - .../Benito/LUFA Benito Programmer.inf | 66 - lib/lufa/Projects/Benito/asf.xml | 53 - lib/lufa/Projects/Benito/doxyfile | 2395 ---------- lib/lufa/Projects/Benito/makefile | 43 - .../HIDReportViewer/Config/LUFAConfig.h | 93 - .../HIDReportViewer/HIDReportViewer.c | 325 -- .../HIDReportViewer/HIDReportViewer.h | 87 - .../HIDReportViewer/HIDReportViewer.txt | 64 - lib/lufa/Projects/HIDReportViewer/asf.xml | 48 - lib/lufa/Projects/HIDReportViewer/doxyfile | 2395 ---------- lib/lufa/Projects/HIDReportViewer/makefile | 43 - .../CPUUsageApp/CPUMonitor.Designer.cs | 131 - .../LEDNotifier/CPUUsageApp/CPUMonitor.cs | 115 - .../LEDNotifier/CPUUsageApp/CPUMonitor.csproj | 95 - .../LEDNotifier/CPUUsageApp/CPUMonitor.resx | 132 - .../LEDNotifier/CPUUsageApp/Program.cs | 21 - .../CPUUsageApp/Properties/AssemblyInfo.cs | 36 - .../Properties/Resources.Designer.cs | 63 - .../CPUUsageApp/Properties/Resources.resx | 117 - .../Properties/Settings.Designer.cs | 26 - .../CPUUsageApp/Properties/Settings.settings | 7 - .../Projects/LEDNotifier/Config/LUFAConfig.h | 93 - lib/lufa/Projects/LEDNotifier/Descriptors.c | 245 - lib/lufa/Projects/LEDNotifier/Descriptors.h | 110 - .../LEDMixerApp/LEDMixer.Designer.cs | 149 - .../LEDNotifier/LEDMixerApp/LEDMixer.cs | 75 - .../LEDNotifier/LEDMixerApp/LEDMixer.csproj | 95 - .../LEDNotifier/LEDMixerApp/LEDMixer.resx | 123 - .../LEDNotifier/LEDMixerApp/Program.cs | 21 - .../LEDMixerApp/Properties/AssemblyInfo.cs | 36 - .../Properties/Resources.Designer.cs | 63 - .../LEDMixerApp/Properties/Resources.resx | 117 - .../Properties/Settings.Designer.cs | 26 - .../LEDMixerApp/Properties/Settings.settings | 7 - lib/lufa/Projects/LEDNotifier/LEDNotifier.c | 178 - lib/lufa/Projects/LEDNotifier/LEDNotifier.h | 60 - lib/lufa/Projects/LEDNotifier/LEDNotifier.txt | 63 - .../LEDNotifier/LUFA LED Notifier.inf | 66 - lib/lufa/Projects/LEDNotifier/asf.xml | 51 - lib/lufa/Projects/LEDNotifier/doxyfile | 2397 ---------- lib/lufa/Projects/LEDNotifier/makefile | 43 - .../MIDIToneGenerator/Config/AppConfig.h | 48 - .../MIDIToneGenerator/Config/LUFAConfig.h | 93 - .../Projects/MIDIToneGenerator/Descriptors.c | 314 -- .../Projects/MIDIToneGenerator/Descriptors.h | 110 - .../MIDIToneGenerator/MIDIToneGenerator.c | 252 - .../MIDIToneGenerator/MIDIToneGenerator.h | 105 - .../MIDIToneGenerator/MIDIToneGenerator.txt | 73 - lib/lufa/Projects/MIDIToneGenerator/asf.xml | 50 - lib/lufa/Projects/MIDIToneGenerator/doxyfile | 2395 ---------- lib/lufa/Projects/MIDIToneGenerator/makefile | 43 - .../Projects/Magstripe/Config/AppConfig.h | 58 - .../Projects/Magstripe/Config/LUFAConfig.h | 93 - lib/lufa/Projects/Magstripe/Descriptors.c | 216 - lib/lufa/Projects/Magstripe/Descriptors.h | 96 - .../Magstripe/Lib/CircularBitBuffer.c | 115 - .../Magstripe/Lib/CircularBitBuffer.h | 97 - lib/lufa/Projects/Magstripe/Lib/MagstripeHW.h | 102 - lib/lufa/Projects/Magstripe/Magstripe.c | 228 - lib/lufa/Projects/Magstripe/Magstripe.h | 90 - lib/lufa/Projects/Magstripe/Magstripe.txt | 163 - lib/lufa/Projects/Magstripe/asf.xml | 52 - lib/lufa/Projects/Magstripe/doxyfile | 2395 ---------- lib/lufa/Projects/Magstripe/makefile | 43 - .../MediaController/Config/LUFAConfig.h | 93 - .../Projects/MediaController/Descriptors.c | 234 - .../Projects/MediaController/Descriptors.h | 93 - .../MediaController/MediaController.c | 184 - .../MediaController/MediaController.h | 110 - .../MediaController/MediaController.txt | 66 - lib/lufa/Projects/MediaController/asf.xml | 50 - lib/lufa/Projects/MediaController/doxyfile | 2395 ---------- lib/lufa/Projects/MediaController/makefile | 43 - .../MissileLauncher/Config/LUFAConfig.h | 93 - .../MissileLauncher/ConfigDescriptor.c | 185 - .../MissileLauncher/ConfigDescriptor.h | 72 - .../MissileLauncher/MissileLauncher.c | 323 -- .../MissileLauncher/MissileLauncher.h | 92 - .../MissileLauncher/MissileLauncher.txt | 60 - lib/lufa/Projects/MissileLauncher/asf.xml | 49 - lib/lufa/Projects/MissileLauncher/doxyfile | 2395 ---------- lib/lufa/Projects/MissileLauncher/makefile | 43 - .../Projects/RelayBoard/Config/LUFAConfig.h | 93 - lib/lufa/Projects/RelayBoard/Descriptors.c | 188 - lib/lufa/Projects/RelayBoard/Descriptors.h | 84 - lib/lufa/Projects/RelayBoard/RelayBoard.c | 145 - lib/lufa/Projects/RelayBoard/RelayBoard.h | 65 - lib/lufa/Projects/RelayBoard/RelayBoard.txt | 106 - lib/lufa/Projects/RelayBoard/asf.xml | 47 - lib/lufa/Projects/RelayBoard/doxyfile | 2395 ---------- lib/lufa/Projects/RelayBoard/makefile | 43 - .../Projects/SerialToLCD/Config/LUFAConfig.h | 93 - lib/lufa/Projects/SerialToLCD/Descriptors.c | 257 - lib/lufa/Projects/SerialToLCD/Descriptors.h | 111 - .../Projects/SerialToLCD/LUFA SerialToLCD.inf | 66 - lib/lufa/Projects/SerialToLCD/Lib/HD44780.c | 127 - lib/lufa/Projects/SerialToLCD/Lib/HD44780.h | 64 - lib/lufa/Projects/SerialToLCD/SerialToLCD.c | 170 - lib/lufa/Projects/SerialToLCD/SerialToLCD.h | 64 - lib/lufa/Projects/SerialToLCD/SerialToLCD.txt | 109 - lib/lufa/Projects/SerialToLCD/asf.xml | 51 - lib/lufa/Projects/SerialToLCD/doxyfile | 2395 ---------- lib/lufa/Projects/SerialToLCD/makefile | 43 - .../TempDataLogger/Config/AppConfig.h | 48 - .../TempDataLogger/Config/LUFAConfig.h | 93 - .../Projects/TempDataLogger/Descriptors.c | 257 - .../Projects/TempDataLogger/Descriptors.h | 87 - .../TempDataLogger/Lib/DataflashManager.c | 534 --- .../TempDataLogger/Lib/DataflashManager.h | 86 - .../TempDataLogger/Lib/FATFs/00readme.txt | 135 - .../TempDataLogger/Lib/FATFs/diskio.c | 98 - .../TempDataLogger/Lib/FATFs/diskio.h | 55 - .../Projects/TempDataLogger/Lib/FATFs/ff.c | 4139 ----------------- .../Projects/TempDataLogger/Lib/FATFs/ff.h | 337 -- .../TempDataLogger/Lib/FATFs/ffconf.h | 191 - .../TempDataLogger/Lib/FATFs/integer.h | 38 - lib/lufa/Projects/TempDataLogger/Lib/RTC.c | 159 - lib/lufa/Projects/TempDataLogger/Lib/RTC.h | 126 - lib/lufa/Projects/TempDataLogger/Lib/SCSI.c | 344 -- lib/lufa/Projects/TempDataLogger/Lib/SCSI.h | 89 - .../Projects/TempDataLogger/TempDataLogger.c | 331 -- .../Projects/TempDataLogger/TempDataLogger.h | 112 - .../TempLogHostApp/COPYING.LESSER.txt | 166 - .../TempDataLogger/TempLogHostApp/COPYING.txt | 675 --- .../DataLoggerSettings.Designer.cs | 181 - .../TempLogHostApp/DataLoggerSettings.cs | 179 - .../TempLogHostApp/DataLoggerSettings.resx | 120 - .../TempLogHostApp/Hid.Linux.dll | Bin 9216 -> 0 bytes .../TempDataLogger/TempLogHostApp/Hid.Net.dll | Bin 24576 -> 0 bytes .../TempLogHostApp/Hid.Win32.dll | Bin 94208 -> 0 bytes .../TempDataLogger/TempLogHostApp/Program.cs | 21 - .../TempLogHostApp/Properties/AssemblyInfo.cs | 36 - .../Properties/Resources.Designer.cs | 63 - .../TempLogHostApp/Properties/Resources.resx | 117 - .../Properties/Settings.Designer.cs | 26 - .../Properties/Settings.settings | 7 - .../TempDataLogger/TempLogHostApp/README.txt | 24 - .../TempLogHostApp/TempLoggerHostApp.csproj | 99 - .../TempLogHostApp_Python/temp_log_config.py | 99 - .../TempDataLogger/TemperatureDataLogger.txt | 86 - lib/lufa/Projects/TempDataLogger/asf.xml | 72 - lib/lufa/Projects/TempDataLogger/doxyfile | 2397 ---------- lib/lufa/Projects/TempDataLogger/makefile | 44 - .../Projects/USBtoSerial/Config/LUFAConfig.h | 93 - lib/lufa/Projects/USBtoSerial/Descriptors.c | 245 - lib/lufa/Projects/USBtoSerial/Descriptors.h | 110 - .../Projects/USBtoSerial/LUFA USBtoSerial.inf | 66 - lib/lufa/Projects/USBtoSerial/USBtoSerial.c | 254 - lib/lufa/Projects/USBtoSerial/USBtoSerial.h | 77 - lib/lufa/Projects/USBtoSerial/USBtoSerial.txt | 78 - lib/lufa/Projects/USBtoSerial/asf.xml | 51 - lib/lufa/Projects/USBtoSerial/doxyfile | 2395 ---------- lib/lufa/Projects/USBtoSerial/makefile | 43 - .../Projects/Webserver/Config/AppConfig.h | 73 - .../Projects/Webserver/Config/LUFAConfig.h | 93 - lib/lufa/Projects/Webserver/Descriptors.c | 295 -- lib/lufa/Projects/Webserver/Descriptors.h | 128 - .../Webserver/LUFA Webserver RNDIS.inf | 59 - .../Projects/Webserver/Lib/DHCPClientApp.c | 208 - .../Projects/Webserver/Lib/DHCPClientApp.h | 69 - lib/lufa/Projects/Webserver/Lib/DHCPCommon.c | 103 - lib/lufa/Projects/Webserver/Lib/DHCPCommon.h | 159 - .../Projects/Webserver/Lib/DHCPServerApp.c | 265 -- .../Projects/Webserver/Lib/DHCPServerApp.h | 64 - .../Projects/Webserver/Lib/DataflashManager.c | 534 --- .../Projects/Webserver/Lib/DataflashManager.h | 87 - .../Projects/Webserver/Lib/FATFs/00readme.txt | 135 - .../Projects/Webserver/Lib/FATFs/diskio.c | 65 - .../Projects/Webserver/Lib/FATFs/diskio.h | 52 - lib/lufa/Projects/Webserver/Lib/FATFs/ff.c | 4139 ----------------- lib/lufa/Projects/Webserver/Lib/FATFs/ff.h | 337 -- .../Projects/Webserver/Lib/FATFs/ffconf.h | 190 - .../Projects/Webserver/Lib/FATFs/integer.h | 38 - .../Projects/Webserver/Lib/HTTPServerApp.c | 284 -- .../Projects/Webserver/Lib/HTTPServerApp.h | 84 - lib/lufa/Projects/Webserver/Lib/SCSI.c | 344 -- lib/lufa/Projects/Webserver/Lib/SCSI.h | 87 - .../Projects/Webserver/Lib/TELNETServerApp.c | 163 - .../Projects/Webserver/Lib/TELNETServerApp.h | 71 - .../Projects/Webserver/Lib/uIPManagement.c | 298 -- .../Projects/Webserver/Lib/uIPManagement.h | 69 - lib/lufa/Projects/Webserver/Lib/uip/clock.c | 37 - lib/lufa/Projects/Webserver/Lib/uip/clock.h | 13 - lib/lufa/Projects/Webserver/Lib/uip/timer.c | 128 - lib/lufa/Projects/Webserver/Lib/uip/timer.h | 87 - .../Projects/Webserver/Lib/uip/uip-split.c | 151 - .../Projects/Webserver/Lib/uip/uip-split.h | 104 - lib/lufa/Projects/Webserver/Lib/uip/uip.c | 1941 -------- lib/lufa/Projects/Webserver/Lib/uip/uip.h | 2130 --------- lib/lufa/Projects/Webserver/Lib/uip/uip_arp.c | 432 -- lib/lufa/Projects/Webserver/Lib/uip/uip_arp.h | 146 - lib/lufa/Projects/Webserver/Lib/uip/uipopt.h | 740 --- lib/lufa/Projects/Webserver/USBDeviceMode.c | 162 - lib/lufa/Projects/Webserver/USBDeviceMode.h | 62 - lib/lufa/Projects/Webserver/USBHostMode.c | 172 - lib/lufa/Projects/Webserver/USBHostMode.h | 60 - lib/lufa/Projects/Webserver/Webserver.c | 77 - lib/lufa/Projects/Webserver/Webserver.h | 76 - lib/lufa/Projects/Webserver/Webserver.txt | 126 - lib/lufa/Projects/Webserver/asf.xml | 96 - lib/lufa/Projects/Webserver/doxyfile | 2396 ---------- lib/lufa/Projects/Webserver/makefile | 46 - .../Projects/XPLAINBridge/Config/AppConfig.h | 64 - .../Projects/XPLAINBridge/Config/LUFAConfig.h | 93 - .../XPLAINBridge/LUFA XPLAIN Bridge.inf | 66 - lib/lufa/Projects/XPLAINBridge/Lib/SoftUART.c | 156 - lib/lufa/Projects/XPLAINBridge/Lib/SoftUART.h | 71 - .../Projects/XPLAINBridge/USARTDescriptors.c | 242 - .../Projects/XPLAINBridge/USARTDescriptors.h | 111 - lib/lufa/Projects/XPLAINBridge/XPLAINBridge.c | 292 -- lib/lufa/Projects/XPLAINBridge/XPLAINBridge.h | 103 - .../Projects/XPLAINBridge/XPLAINBridge.txt | 89 - lib/lufa/Projects/XPLAINBridge/asf.xml | 57 - lib/lufa/Projects/XPLAINBridge/doxyfile | 2395 ---------- lib/lufa/Projects/XPLAINBridge/makefile | 54 - lib/lufa/Projects/makefile | 47 - lib/lufa/README.txt | 56 - lib/lufa/makefile | 26 - tmk_core/protocol/usb_descriptor.c | 26 +- 1458 files changed, 20 insertions(+), 394696 deletions(-) create mode 100644 docs/ChangeLog/20190830/PR6245.md delete mode 100644 lib/lufa/.gitattributes delete mode 100644 lib/lufa/.gitignore delete mode 100644 lib/lufa/Bootloaders/CDC/BootloaderAPI.c delete mode 100644 lib/lufa/Bootloaders/CDC/BootloaderAPI.h delete mode 100644 lib/lufa/Bootloaders/CDC/BootloaderAPITable.S delete mode 100644 lib/lufa/Bootloaders/CDC/BootloaderCDC.c delete mode 100644 lib/lufa/Bootloaders/CDC/BootloaderCDC.h delete mode 100644 lib/lufa/Bootloaders/CDC/BootloaderCDC.txt delete mode 100644 lib/lufa/Bootloaders/CDC/Config/AppConfig.h delete mode 100644 lib/lufa/Bootloaders/CDC/Config/LUFAConfig.h delete mode 100644 lib/lufa/Bootloaders/CDC/Descriptors.c delete mode 100644 lib/lufa/Bootloaders/CDC/Descriptors.h delete mode 100644 lib/lufa/Bootloaders/CDC/LUFA CDC Bootloader.inf delete mode 100644 lib/lufa/Bootloaders/CDC/asf.xml delete mode 100644 lib/lufa/Bootloaders/CDC/doxyfile delete mode 100644 lib/lufa/Bootloaders/CDC/makefile delete mode 100644 lib/lufa/Bootloaders/DFU/BootloaderAPI.c delete mode 100644 lib/lufa/Bootloaders/DFU/BootloaderAPI.h delete mode 100644 lib/lufa/Bootloaders/DFU/BootloaderAPITable.S delete mode 100644 lib/lufa/Bootloaders/DFU/BootloaderDFU.c delete mode 100644 lib/lufa/Bootloaders/DFU/BootloaderDFU.h delete mode 100644 lib/lufa/Bootloaders/DFU/BootloaderDFU.txt delete mode 100644 lib/lufa/Bootloaders/DFU/Config/AppConfig.h delete mode 100644 lib/lufa/Bootloaders/DFU/Config/LUFAConfig.h delete mode 100644 lib/lufa/Bootloaders/DFU/Descriptors.c delete mode 100644 lib/lufa/Bootloaders/DFU/Descriptors.h delete mode 100644 lib/lufa/Bootloaders/DFU/asf.xml delete mode 100644 lib/lufa/Bootloaders/DFU/doxyfile delete mode 100644 lib/lufa/Bootloaders/DFU/makefile delete mode 100644 lib/lufa/Bootloaders/HID/BootloaderHID.c delete mode 100644 lib/lufa/Bootloaders/HID/BootloaderHID.h delete mode 100644 lib/lufa/Bootloaders/HID/BootloaderHID.txt delete mode 100644 lib/lufa/Bootloaders/HID/Config/LUFAConfig.h delete mode 100644 lib/lufa/Bootloaders/HID/Descriptors.c delete mode 100644 lib/lufa/Bootloaders/HID/Descriptors.h delete mode 100644 lib/lufa/Bootloaders/HID/HostLoaderApp/.gitignore delete mode 100644 lib/lufa/Bootloaders/HID/HostLoaderApp/Makefile delete mode 100644 lib/lufa/Bootloaders/HID/HostLoaderApp/Makefile.bsd delete mode 100644 lib/lufa/Bootloaders/HID/HostLoaderApp/gpl3.txt delete mode 100644 lib/lufa/Bootloaders/HID/HostLoaderApp/hid_bootloader_cli.c delete mode 100644 lib/lufa/Bootloaders/HID/HostLoaderApp_Python/hid_bootloader_loader.py delete mode 100644 lib/lufa/Bootloaders/HID/asf.xml delete mode 100644 lib/lufa/Bootloaders/HID/doxyfile delete mode 100644 lib/lufa/Bootloaders/HID/makefile delete mode 100644 lib/lufa/Bootloaders/MassStorage/BootloaderAPI.c delete mode 100644 lib/lufa/Bootloaders/MassStorage/BootloaderAPI.h delete mode 100644 lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S delete mode 100644 lib/lufa/Bootloaders/MassStorage/BootloaderMassStorage.c delete mode 100644 lib/lufa/Bootloaders/MassStorage/BootloaderMassStorage.h delete mode 100644 lib/lufa/Bootloaders/MassStorage/BootloaderMassStorage.txt delete mode 100644 lib/lufa/Bootloaders/MassStorage/Config/AppConfig.h delete mode 100644 lib/lufa/Bootloaders/MassStorage/Config/LUFAConfig.h delete mode 100644 lib/lufa/Bootloaders/MassStorage/Descriptors.c delete mode 100644 lib/lufa/Bootloaders/MassStorage/Descriptors.h delete mode 100644 lib/lufa/Bootloaders/MassStorage/Lib/SCSI.c delete mode 100644 lib/lufa/Bootloaders/MassStorage/Lib/SCSI.h delete mode 100644 lib/lufa/Bootloaders/MassStorage/Lib/VirtualFAT.c delete mode 100644 lib/lufa/Bootloaders/MassStorage/Lib/VirtualFAT.h delete mode 100644 lib/lufa/Bootloaders/MassStorage/asf.xml delete mode 100644 lib/lufa/Bootloaders/MassStorage/doxyfile delete mode 100644 lib/lufa/Bootloaders/MassStorage/makefile delete mode 100644 lib/lufa/Bootloaders/Printer/BootloaderAPI.c delete mode 100644 lib/lufa/Bootloaders/Printer/BootloaderAPI.h delete mode 100644 lib/lufa/Bootloaders/Printer/BootloaderAPITable.S delete mode 100644 lib/lufa/Bootloaders/Printer/BootloaderPrinter.c delete mode 100644 lib/lufa/Bootloaders/Printer/BootloaderPrinter.h delete mode 100644 lib/lufa/Bootloaders/Printer/BootloaderPrinter.txt delete mode 100644 lib/lufa/Bootloaders/Printer/Config/LUFAConfig.h delete mode 100644 lib/lufa/Bootloaders/Printer/Descriptors.c delete mode 100644 lib/lufa/Bootloaders/Printer/Descriptors.h delete mode 100644 lib/lufa/Bootloaders/Printer/asf.xml delete mode 100644 lib/lufa/Bootloaders/Printer/doxyfile delete mode 100644 lib/lufa/Bootloaders/Printer/makefile delete mode 100644 lib/lufa/Bootloaders/makefile delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/Board/Board.h delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/Board/Buttons.h delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/Board/Dataflash.h delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/Board/Joystick.h delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/Board/LEDs.h delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/BoardDeviceMap.cfg delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/Test.c delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/makefile delete mode 100644 lib/lufa/BuildTests/BoardDriverTest/makefile.test delete mode 100644 lib/lufa/BuildTests/BootloaderTest/BootloaderDeviceMap.cfg delete mode 100644 lib/lufa/BuildTests/BootloaderTest/makefile delete mode 100644 lib/lufa/BuildTests/ModuleTest/Dummy.S delete mode 100644 lib/lufa/BuildTests/ModuleTest/Modules.h delete mode 100644 lib/lufa/BuildTests/ModuleTest/Test_C.c delete mode 100644 lib/lufa/BuildTests/ModuleTest/Test_CPP.cpp delete mode 100644 lib/lufa/BuildTests/ModuleTest/makefile delete mode 100644 lib/lufa/BuildTests/ModuleTest/makefile.test delete mode 100644 lib/lufa/BuildTests/SingleUSBModeTest/Dummy.S delete mode 100644 lib/lufa/BuildTests/SingleUSBModeTest/Test.c delete mode 100644 lib/lufa/BuildTests/SingleUSBModeTest/makefile delete mode 100644 lib/lufa/BuildTests/SingleUSBModeTest/makefile.test delete mode 100644 lib/lufa/BuildTests/StaticAnalysisTest/makefile delete mode 100644 lib/lufa/BuildTests/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/AudioInput.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/AudioInput.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/AudioInput.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioInput/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/AudioOutput.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/AudioOutput.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/AudioOutput/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/DualMIDI.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/DualMIDI.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/DualMIDI.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualMIDI/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/DualVirtualSerial.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/DualVirtualSerial.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/DualVirtualSerial.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/LUFA DualVirtualSerial.inf delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/DualVirtualSerial/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/GenericHID.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/GenericHID.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/GenericHID.txt delete mode 100755 lib/lufa/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.js delete mode 100755 lib/lufa/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.py delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_winusb.py delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/GenericHID/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/Joystick.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/Joystick.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/Joystick.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Joystick/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/Keyboard.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/Keyboard.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/Keyboard.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Keyboard/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouse/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/KeyboardMouseMultiReport.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/KeyboardMouseMultiReport.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/KeyboardMouseMultiReport.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/MIDI.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/MIDI.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/MIDI.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MIDI/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/MassStorage.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/MassStorage.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/MassStorage.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorage/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/SCSI.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/SCSI.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/MassStorageKeyboard/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/Mouse.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/Mouse.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/Mouse.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/Mouse/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/LUFA RNDIS.inf delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/ARP.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/ARP.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/DHCP.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/DHCP.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/EthernetProtocols.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/ProtocolDecoders.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/ProtocolDecoders.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/TCP.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/UDP.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/UDP.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/Webserver.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/Lib/Webserver.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/RNDISEthernet/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/LUFA VirtualSerial.inf delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/VirtualSerial.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/VirtualSerial.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/VirtualSerial.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerial/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/LUFA VirtualSerialMassStorage.inf delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/DataflashManager.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/DataflashManager.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/SCSI.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/Lib/SCSI.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMassStorage/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/LUFA VirtualSerialMouse.inf delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.c delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.h delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.txt delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/asf.xml delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/doxyfile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/VirtualSerialMouse/makefile delete mode 100644 lib/lufa/Demos/Device/ClassDriver/makefile delete mode 100644 lib/lufa/Demos/Device/Incomplete/TestAndMeasurement/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/Incomplete/TestAndMeasurement/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c delete mode 100644 lib/lufa/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h delete mode 100644 lib/lufa/Demos/Device/Incomplete/TestAndMeasurement/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/AudioInput.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/AudioInput.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/AudioInput.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioInput/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/AudioOutput.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/AudioOutput.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/AudioOutput/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/BulkVendor.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/BulkVendor.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/BulkVendor.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/HostTestApp/test_bulk_vendor.py delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/LUFA_Bulk_Vendor_Demo.inf delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/amd64/libusb0.dll delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/amd64/libusb0.sys delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/ia64/libusb0.dll delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/ia64/libusb0.sys delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/installer_x64.exe delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/installer_x86.exe delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/license/libusb0/installer_license.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/x86/libusb0.sys delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/WindowsDriver/x86/libusb0_x86.dll delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/BulkVendor/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/LUFA DualVirtualSerial.inf delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/DualVirtualSerial/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/GenericHID.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/GenericHID.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/GenericHID.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/HostTestApp/test_generic_hid.py delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/GenericHID/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/Joystick.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/Joystick.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/Joystick.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/Joystick/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/Keyboard.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/Keyboard.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/Keyboard.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/Keyboard/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/KeyboardMouse/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/MIDI.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/MIDI.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/MIDI.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/MIDI/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/MassStorage.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/MassStorage.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/MassStorage.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/MassStorage/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/Mouse.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/Mouse.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/Mouse.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/Mouse/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/LUFA RNDIS.inf delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/ARP.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/ARP.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/DHCP.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/DHCP.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/EthernetProtocols.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/ICMP.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/ICMP.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/ProtocolDecoders.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/ProtocolDecoders.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/RNDIS.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/RNDIS.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/UDP.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/UDP.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/Webserver.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/Lib/Webserver.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/RNDISEthernet/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/Descriptors.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/Descriptors.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/LUFA VirtualSerial.inf delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.c delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.txt delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/asf.xml delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/doxyfile delete mode 100644 lib/lufa/Demos/Device/LowLevel/VirtualSerial/makefile delete mode 100644 lib/lufa/Demos/Device/LowLevel/makefile delete mode 100644 lib/lufa/Demos/Device/makefile delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.c delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/Descriptors.h delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/DeviceFunctions.c delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/DeviceFunctions.h delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/HostFunctions.c delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/HostFunctions.h delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.c delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.h delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.txt delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/asf.xml delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/doxyfile delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/MouseHostDevice/makefile delete mode 100644 lib/lufa/Demos/DualRole/ClassDriver/makefile delete mode 100644 lib/lufa/Demos/DualRole/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidAccessoryHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidAccessoryHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidAccessoryHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/AndroidHostApp.zip delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AndroidAccessoryHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AndroidAccessoryHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AndroidAccessoryHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AndroidAccessoryHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioInputHost/AudioInputHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioInputHost/AudioInputHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioInputHost/AudioInputHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioInputHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioInputHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioInputHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioInputHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioOutputHost/AudioOutputHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioOutputHost/AudioOutputHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioOutputHost/AudioOutputHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioOutputHost/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioOutputHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioOutputHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioOutputHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/AudioOutputHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/JoystickHostWithParser/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/JoystickHostWithParser/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/JoystickHostWithParser/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/JoystickHostWithParser/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHostWithParser/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHostWithParser/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHostWithParser/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MIDIHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MIDIHost/MIDIHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MIDIHost/MIDIHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MIDIHost/MIDIHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MIDIHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MIDIHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MIDIHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MassStorageHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MassStorageHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MassStorageHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MassStorageHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHost/MouseHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHost/MouseHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHost/MouseHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHostWithParser/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHostWithParser/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHostWithParser/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/MouseHostWithParser/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/PrinterHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/PrinterHost/PrinterHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/PrinterHost/PrinterHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/PrinterHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/PrinterHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/PrinterHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/RNDISEthernetHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/RNDISEthernetHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/RNDISEthernetHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/RNDISEthernetHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/StillImageHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/StillImageHost/StillImageHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/StillImageHost/StillImageHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/StillImageHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/StillImageHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/StillImageHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/VirtualSerialHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c delete mode 100644 lib/lufa/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.h delete mode 100644 lib/lufa/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.txt delete mode 100644 lib/lufa/Demos/Host/ClassDriver/VirtualSerialHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/ClassDriver/VirtualSerialHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/VirtualSerialHost/makefile delete mode 100644 lib/lufa/Demos/Host/ClassDriver/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/AndroidAccessoryHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/AndroidAccessoryHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/AndroidAccessoryHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/DeviceDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/DeviceDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/AudioInputHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/AudioInputHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/AudioInputHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioInputHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/Config/AppConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/AudioOutputHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/GenericHIDHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/JoystickHostWithParser/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/KeyboardHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/HIDReport.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/HIDReport.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/KeyboardHostWithParser/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/MIDIHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/MIDIHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/MIDIHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/MIDIHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/MassStorageHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/MouseHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/MouseHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/MouseHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/MouseHostWithParser/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/PrinterHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/RNDISHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/RNDISEthernetHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/Lib/PIMACodes.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/StillImageHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/StillImageHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/StillImageHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/StillImageHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/Config/LUFAConfig.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/ConfigDescriptor.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/ConfigDescriptor.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.h delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.txt delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/asf.xml delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/doxyfile delete mode 100644 lib/lufa/Demos/Host/LowLevel/VirtualSerialHost/makefile delete mode 100644 lib/lufa/Demos/Host/LowLevel/makefile delete mode 100644 lib/lufa/Demos/Host/makefile delete mode 100644 lib/lufa/Demos/makefile delete mode 100644 lib/lufa/LUFA/Build/DMBS/.gitignore delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/HID_EEPROM_Loader/HID_EEPROM_Loader.c delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/HID_EEPROM_Loader/makefile delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/License.txt delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/ModulesOverview.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/WritingYourOwnModules.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/atprogram.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/atprogram.mk delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/avrdude.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/avrdude.mk delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/core.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/core.mk delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/cppcheck.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/cppcheck.mk delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/dfu.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/dfu.mk delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/doxygen.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/doxygen.mk delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/gcc.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/gcc.mk delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/hid.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/DMBS/hid.mk delete mode 100644 lib/lufa/LUFA/Build/DMBS/Readme.md delete mode 100644 lib/lufa/LUFA/Build/DMBS/Template/Template.c delete mode 100644 lib/lufa/LUFA/Build/DMBS/Template/makefile delete mode 100644 lib/lufa/LUFA/Build/LUFA/lufa-gcc.mk delete mode 100644 lib/lufa/LUFA/Build/LUFA/lufa-sources.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_atprogram.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_avrdude.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_build.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_core.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_cppcheck.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_dfu.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_doxygen.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_hid.mk delete mode 100644 lib/lufa/LUFA/Build/lufa_sources.mk delete mode 100644 lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.c delete mode 100644 lib/lufa/LUFA/CodeTemplates/DeviceTemplate/Descriptors.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.c delete mode 100644 lib/lufa/LUFA/CodeTemplates/DeviceTemplate/DeviceApplication.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/DeviceTemplate/asf.xml delete mode 100644 lib/lufa/LUFA/CodeTemplates/DriverStubs/Board.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/DriverStubs/Buttons.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/DriverStubs/Dataflash.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/DriverStubs/Joystick.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/DriverStubs/LEDs.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.c delete mode 100644 lib/lufa/LUFA/CodeTemplates/HostTemplate/HostApplication.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/HostTemplate/asf.xml delete mode 100644 lib/lufa/LUFA/CodeTemplates/LUFAConfig.h delete mode 100644 lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA CDC-ACM.inf delete mode 100644 lib/lufa/LUFA/CodeTemplates/WindowsINF/LUFA RNDIS.inf delete mode 100644 lib/lufa/LUFA/CodeTemplates/makefile_template delete mode 100644 lib/lufa/LUFA/Common/ArchitectureSpecific.h delete mode 100644 lib/lufa/LUFA/Common/Architectures.h delete mode 100644 lib/lufa/LUFA/Common/Attributes.h delete mode 100644 lib/lufa/LUFA/Common/BoardTypes.h delete mode 100644 lib/lufa/LUFA/Common/Common.h delete mode 100644 lib/lufa/LUFA/Common/CompilerSpecific.h delete mode 100644 lib/lufa/LUFA/Common/Endianness.h delete mode 100644 lib/lufa/LUFA/DoxygenPages/BuildSystem.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/BuildingLinkableLibraries.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/ChangeLog.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/CompileTimeTokens.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/CompilingApps.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/ConfiguringApps.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/DevelopingWithLUFA.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/DeviceSupport.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/DirectorySummaries.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/Donating.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/FutureChanges.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/GettingStarted.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/Groups.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/Images/Author.jpg delete mode 100644 lib/lufa/LUFA/DoxygenPages/Images/LUFA.png delete mode 100644 lib/lufa/LUFA/DoxygenPages/Images/LUFA_thumb.png delete mode 100644 lib/lufa/LUFA/DoxygenPages/KnownIssues.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/LUFAPoweredProjects.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/LibraryResources.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/LicenseInfo.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/MainPage.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/MigrationInformation.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/OSDrivers.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/ProgrammingApps.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/SoftwareBootloaderJump.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/Style/Footer.htm delete mode 100644 lib/lufa/LUFA/DoxygenPages/Style/Style.css delete mode 100644 lib/lufa/LUFA/DoxygenPages/VIDAndPIDValues.txt delete mode 100644 lib/lufa/LUFA/DoxygenPages/WritingBoardDrivers.txt delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/ADAFRUITU4/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/ADAFRUITU4/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/ATAVRUSBRF01/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/ATAVRUSBRF01/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BENITO/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BENITO/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BENITO/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BIGMULTIO/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BIGMULTIO/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BLACKCAT/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BLACKCAT/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BUI/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BUI/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BUMBLEB/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BUMBLEB/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BUMBLEB/Joystick.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/BUMBLEB/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/CULV3/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/CULV3/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/CULV3/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/DUCE/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/DUCE/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/EVK527/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/EVK527/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/EVK527/Dataflash.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/EVK527/Joystick.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/EVK527/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/JMDBU2/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/JMDBU2/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/JMDBU2/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/LEONARDO/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MAXIMUS/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MAXIMUS/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MICRO/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MICRO/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MICROPENDOUS/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MICROPENDOUS/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MICROPENDOUS/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MICROSIN162/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MICROSIN162/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MICROSIN162/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MINIMUS/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MINIMUS/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MINIMUS/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MULTIO/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/MULTIO/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEX162/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEX162/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEX162/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEX32U4/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEX32U4/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEX32U4/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEXISPMK2/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEXISPMK2/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEXISPMK2/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEXT32U4/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEXT32U4/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/OLIMEXT32U4/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/POLOLUMICRO/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/POLOLUMICRO/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/QMK/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/QMK/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/RZUSBSTICK/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/RZUSBSTICK/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/SPARKFUN8U2/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STANGE_ISP/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STANGE_ISP/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STANGE_ISP/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK525/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK525/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK525/Dataflash.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK525/Joystick.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK525/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK526/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK526/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK526/Dataflash.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK526/Joystick.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/STK526/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/TEENSY/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/TUL/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/TUL/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/TUL/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/U2S/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/U2S/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/U2S/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/UDIP/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/UDIP/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/UDIP/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/UNO/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/UNO/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USB2AX/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USB2AX/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBFOO/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBFOO/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBFOO/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBKEY/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBKEY/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBKEY/Dataflash.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBKEY/Joystick.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBKEY/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBTINYMKII/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBTINYMKII/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/USBTINYMKII/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/XPLAIN/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/XPLAINED_MINI/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/XPLAINED_MINI/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/YUN/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/AVR8/YUN/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/Dataflash.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/Joystick.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/Temperature.c delete mode 100644 lib/lufa/LUFA/Drivers/Board/Temperature.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1100/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1100/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1100/Joystick.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1100/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1101/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1101/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1101/Joystick.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1101/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1104/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1104/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/EVK1104/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/UC3A3_XPLAINED/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/UC3A3_XPLAINED/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/UC3/UC3A3_XPLAINED/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/B1_XPLAINED/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/B1_XPLAINED/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/B1_XPLAINED/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/C3_XPLAINED/Board.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/C3_XPLAINED/Buttons.h delete mode 100644 lib/lufa/LUFA/Drivers/Board/XMEGA/C3_XPLAINED/LEDs.h delete mode 100644 lib/lufa/LUFA/Drivers/Misc/AT45DB321C.h delete mode 100644 lib/lufa/LUFA/Drivers/Misc/AT45DB642D.h delete mode 100644 lib/lufa/LUFA/Drivers/Misc/RingBuffer.h delete mode 100644 lib/lufa/LUFA/Drivers/Misc/TerminalCodes.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/ADC.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/AVR8/SPI_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/AVR8/SerialSPI_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/AVR8/Serial_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/AVR8/Serial_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/SPI.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/Serial.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/SerialSPI.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/TWI.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/XMEGA/SPI_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/XMEGA/SerialSPI_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/XMEGA/Serial_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/XMEGA/Serial_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/XMEGA/TWI_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/Peripheral/XMEGA/TWI_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/AndroidAccessoryClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/AudioClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/CDCClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/CDCClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/HIDClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/HIDReportData.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/MIDIClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/PrinterClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/RNDISClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Common/StillImageClassCommon.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/CDCClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/CDCClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/HIDClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/HIDClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/PrinterClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/PrinterClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/RNDISClassDevice.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Device/RNDISClassDevice.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/HIDClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/AudioClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/AudioClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/CDCClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/CDCClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/HIDClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/HIDClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/MIDIClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/MIDIClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/MassStorageClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/MassStorageClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/PrinterClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/RNDISClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/RNDISClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/StillImageClassHost.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/Host/StillImageClassHost.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/MIDIClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/MassStorageClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/PrinterClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/RNDISClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Class/StillImageClass.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/OTG_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/ConfigDescriptors.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/ConfigDescriptors.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Device.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/DeviceStandardReq.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/DeviceStandardReq.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Endpoint.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/EndpointStream.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Events.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Events.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Host.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/HostStandardReq.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/HostStandardReq.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/OTG.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/Pipe.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/PipeStream.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/StdDescriptors.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/StdRequestType.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Device_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Device_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Host_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Host_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/PipeStream_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/PipeStream_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/USBController_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBController.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBInterrupt.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBMode.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBTask.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/USBTask.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Device_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Device_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Host_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/PipeStream_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Pipe_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c delete mode 100644 lib/lufa/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h delete mode 100644 lib/lufa/LUFA/Drivers/USB/USB.h delete mode 100644 lib/lufa/LUFA/License.txt delete mode 100644 lib/lufa/LUFA/Platform/Platform.h delete mode 100644 lib/lufa/LUFA/Platform/UC3/ClockManagement.h delete mode 100644 lib/lufa/LUFA/Platform/UC3/Exception.S delete mode 100644 lib/lufa/LUFA/Platform/UC3/InterruptManagement.c delete mode 100644 lib/lufa/LUFA/Platform/UC3/InterruptManagement.h delete mode 100644 lib/lufa/LUFA/Platform/UC3/UC3ExperimentalInfo.txt delete mode 100644 lib/lufa/LUFA/Platform/XMEGA/ClockManagement.h delete mode 100644 lib/lufa/LUFA/Platform/XMEGA/XMEGAExperimentalInfo.txt delete mode 100644 lib/lufa/LUFA/StudioIntegration/Docbook/mshelp/README.txt delete mode 100644 lib/lufa/LUFA/StudioIntegration/Docbook/mshelp/docbook.xsl delete mode 100644 lib/lufa/LUFA/StudioIntegration/Docbook/mshelp/hv1-common.xsl delete mode 100644 lib/lufa/LUFA/StudioIntegration/Docbook/placeholder.txt delete mode 100644 lib/lufa/LUFA/StudioIntegration/HV1/helpcontentsetup.msha delete mode 100644 lib/lufa/LUFA/StudioIntegration/HV1/lufa_docbook_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/HV1/lufa_helpcontentsetup_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css delete mode 100644 lib/lufa/LUFA/StudioIntegration/VSIX/LUFA.dll delete mode 100644 lib/lufa/LUFA/StudioIntegration/VSIX/LUFA.pkgdef delete mode 100644 lib/lufa/LUFA/StudioIntegration/VSIX/[Content_Types].xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/VSIX/asf-manifest.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest delete mode 100644 lib/lufa/LUFA/StudioIntegration/VSIX/generate_caches.py delete mode 100644 lib/lufa/LUFA/StudioIntegration/VSIX/lufa_asfmanifest_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/VSIX/lufa_vsmanifest_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/XDK/lufa_extension_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/XDK/lufa_filelist_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/XDK/lufa_indent_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/XDK/lufa_module_transform.xslt delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_common.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_board.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_board_names.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_misc.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_peripheral.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_android.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_audio.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_cdc.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_hid.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_midi.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_ms.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_printer.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_rndis.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_class_si.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_core.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_platform.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_platform_uc3.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_platform_xmega.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/lufa_toolchain.xml delete mode 100644 lib/lufa/LUFA/StudioIntegration/makefile delete mode 100644 lib/lufa/LUFA/Version.h delete mode 100644 lib/lufa/LUFA/doxyfile delete mode 100644 lib/lufa/LUFA/makefile delete mode 100644 lib/lufa/Maintenance/lufa_functionlist_transform.xslt delete mode 100644 lib/lufa/Maintenance/makefile delete mode 100644 lib/lufa/Projects/AVRISP-MKII/AVRISP-MKII.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/AVRISP-MKII.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/AVRISP-MKII.txt delete mode 100644 lib/lufa/Projects/AVRISP-MKII/AVRISPDescriptors.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/AVRISPDescriptors.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Config/AppConfig.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/V2Protocol.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/V2Protocol.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/V2ProtocolConstants.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/V2ProtocolParams.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/V2ProtocolParams.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c delete mode 100644 lib/lufa/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/AVRISP_mkII.inf delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/amd64/libusb0.dll delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/amd64/libusb0.sys delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/avrisp_mkii.cat delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/ia64/libusb0.dll delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/ia64/libusb0.sys delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/installer_x64.exe delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/installer_x86.exe delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/license/libusb0/installer_license.txt delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/x86/libusb0.sys delete mode 100644 lib/lufa/Projects/AVRISP-MKII/WindowsDriver/x86/libusb0_x86.dll delete mode 100644 lib/lufa/Projects/AVRISP-MKII/asf.xml delete mode 100644 lib/lufa/Projects/AVRISP-MKII/doxyfile delete mode 100644 lib/lufa/Projects/AVRISP-MKII/makefile delete mode 100644 lib/lufa/Projects/Benito/Benito.c delete mode 100644 lib/lufa/Projects/Benito/Benito.h delete mode 100644 lib/lufa/Projects/Benito/Benito.txt delete mode 100644 lib/lufa/Projects/Benito/Config/AppConfig.h delete mode 100644 lib/lufa/Projects/Benito/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/Benito/Descriptors.c delete mode 100644 lib/lufa/Projects/Benito/Descriptors.h delete mode 100644 lib/lufa/Projects/Benito/LUFA Benito Programmer.inf delete mode 100644 lib/lufa/Projects/Benito/asf.xml delete mode 100644 lib/lufa/Projects/Benito/doxyfile delete mode 100644 lib/lufa/Projects/Benito/makefile delete mode 100644 lib/lufa/Projects/HIDReportViewer/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/HIDReportViewer/HIDReportViewer.c delete mode 100644 lib/lufa/Projects/HIDReportViewer/HIDReportViewer.h delete mode 100644 lib/lufa/Projects/HIDReportViewer/HIDReportViewer.txt delete mode 100644 lib/lufa/Projects/HIDReportViewer/asf.xml delete mode 100644 lib/lufa/Projects/HIDReportViewer/doxyfile delete mode 100644 lib/lufa/Projects/HIDReportViewer/makefile delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/CPUMonitor.Designer.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/CPUMonitor.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/CPUMonitor.csproj delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/CPUMonitor.resx delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/Program.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/Properties/AssemblyInfo.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/Properties/Resources.Designer.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/Properties/Resources.resx delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/Properties/Settings.Designer.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/CPUUsageApp/Properties/Settings.settings delete mode 100644 lib/lufa/Projects/LEDNotifier/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/LEDNotifier/Descriptors.c delete mode 100644 lib/lufa/Projects/LEDNotifier/Descriptors.h delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.Designer.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.csproj delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/LEDMixer.resx delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/Program.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/Properties/AssemblyInfo.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/Properties/Resources.Designer.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/Properties/Resources.resx delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/Properties/Settings.Designer.cs delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDMixerApp/Properties/Settings.settings delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDNotifier.c delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDNotifier.h delete mode 100644 lib/lufa/Projects/LEDNotifier/LEDNotifier.txt delete mode 100644 lib/lufa/Projects/LEDNotifier/LUFA LED Notifier.inf delete mode 100644 lib/lufa/Projects/LEDNotifier/asf.xml delete mode 100644 lib/lufa/Projects/LEDNotifier/doxyfile delete mode 100644 lib/lufa/Projects/LEDNotifier/makefile delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/Config/AppConfig.h delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/Descriptors.c delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/Descriptors.h delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/MIDIToneGenerator.c delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/MIDIToneGenerator.h delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/MIDIToneGenerator.txt delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/asf.xml delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/doxyfile delete mode 100644 lib/lufa/Projects/MIDIToneGenerator/makefile delete mode 100644 lib/lufa/Projects/Magstripe/Config/AppConfig.h delete mode 100644 lib/lufa/Projects/Magstripe/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/Magstripe/Descriptors.c delete mode 100644 lib/lufa/Projects/Magstripe/Descriptors.h delete mode 100644 lib/lufa/Projects/Magstripe/Lib/CircularBitBuffer.c delete mode 100644 lib/lufa/Projects/Magstripe/Lib/CircularBitBuffer.h delete mode 100644 lib/lufa/Projects/Magstripe/Lib/MagstripeHW.h delete mode 100644 lib/lufa/Projects/Magstripe/Magstripe.c delete mode 100644 lib/lufa/Projects/Magstripe/Magstripe.h delete mode 100644 lib/lufa/Projects/Magstripe/Magstripe.txt delete mode 100644 lib/lufa/Projects/Magstripe/asf.xml delete mode 100644 lib/lufa/Projects/Magstripe/doxyfile delete mode 100644 lib/lufa/Projects/Magstripe/makefile delete mode 100644 lib/lufa/Projects/MediaController/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/MediaController/Descriptors.c delete mode 100644 lib/lufa/Projects/MediaController/Descriptors.h delete mode 100644 lib/lufa/Projects/MediaController/MediaController.c delete mode 100644 lib/lufa/Projects/MediaController/MediaController.h delete mode 100644 lib/lufa/Projects/MediaController/MediaController.txt delete mode 100644 lib/lufa/Projects/MediaController/asf.xml delete mode 100644 lib/lufa/Projects/MediaController/doxyfile delete mode 100644 lib/lufa/Projects/MediaController/makefile delete mode 100644 lib/lufa/Projects/MissileLauncher/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/MissileLauncher/ConfigDescriptor.c delete mode 100644 lib/lufa/Projects/MissileLauncher/ConfigDescriptor.h delete mode 100644 lib/lufa/Projects/MissileLauncher/MissileLauncher.c delete mode 100644 lib/lufa/Projects/MissileLauncher/MissileLauncher.h delete mode 100644 lib/lufa/Projects/MissileLauncher/MissileLauncher.txt delete mode 100644 lib/lufa/Projects/MissileLauncher/asf.xml delete mode 100644 lib/lufa/Projects/MissileLauncher/doxyfile delete mode 100644 lib/lufa/Projects/MissileLauncher/makefile delete mode 100644 lib/lufa/Projects/RelayBoard/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/RelayBoard/Descriptors.c delete mode 100644 lib/lufa/Projects/RelayBoard/Descriptors.h delete mode 100644 lib/lufa/Projects/RelayBoard/RelayBoard.c delete mode 100644 lib/lufa/Projects/RelayBoard/RelayBoard.h delete mode 100644 lib/lufa/Projects/RelayBoard/RelayBoard.txt delete mode 100644 lib/lufa/Projects/RelayBoard/asf.xml delete mode 100644 lib/lufa/Projects/RelayBoard/doxyfile delete mode 100644 lib/lufa/Projects/RelayBoard/makefile delete mode 100644 lib/lufa/Projects/SerialToLCD/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/SerialToLCD/Descriptors.c delete mode 100644 lib/lufa/Projects/SerialToLCD/Descriptors.h delete mode 100644 lib/lufa/Projects/SerialToLCD/LUFA SerialToLCD.inf delete mode 100644 lib/lufa/Projects/SerialToLCD/Lib/HD44780.c delete mode 100644 lib/lufa/Projects/SerialToLCD/Lib/HD44780.h delete mode 100644 lib/lufa/Projects/SerialToLCD/SerialToLCD.c delete mode 100644 lib/lufa/Projects/SerialToLCD/SerialToLCD.h delete mode 100644 lib/lufa/Projects/SerialToLCD/SerialToLCD.txt delete mode 100644 lib/lufa/Projects/SerialToLCD/asf.xml delete mode 100644 lib/lufa/Projects/SerialToLCD/doxyfile delete mode 100644 lib/lufa/Projects/SerialToLCD/makefile delete mode 100644 lib/lufa/Projects/TempDataLogger/Config/AppConfig.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Descriptors.c delete mode 100644 lib/lufa/Projects/TempDataLogger/Descriptors.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/DataflashManager.c delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/DataflashManager.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/FATFs/00readme.txt delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/FATFs/diskio.c delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/FATFs/diskio.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/FATFs/ff.c delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/FATFs/ff.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/FATFs/ffconf.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/FATFs/integer.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/RTC.c delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/RTC.h delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/SCSI.c delete mode 100644 lib/lufa/Projects/TempDataLogger/Lib/SCSI.h delete mode 100644 lib/lufa/Projects/TempDataLogger/TempDataLogger.c delete mode 100644 lib/lufa/Projects/TempDataLogger/TempDataLogger.h delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/COPYING.LESSER.txt delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/COPYING.txt delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/DataLoggerSettings.Designer.cs delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/DataLoggerSettings.cs delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/DataLoggerSettings.resx delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Hid.Linux.dll delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Hid.Net.dll delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Hid.Win32.dll delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Program.cs delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Properties/AssemblyInfo.cs delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Properties/Resources.Designer.cs delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Properties/Resources.resx delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Properties/Settings.Designer.cs delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/Properties/Settings.settings delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/README.txt delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp/TempLoggerHostApp.csproj delete mode 100644 lib/lufa/Projects/TempDataLogger/TempLogHostApp_Python/temp_log_config.py delete mode 100644 lib/lufa/Projects/TempDataLogger/TemperatureDataLogger.txt delete mode 100644 lib/lufa/Projects/TempDataLogger/asf.xml delete mode 100644 lib/lufa/Projects/TempDataLogger/doxyfile delete mode 100644 lib/lufa/Projects/TempDataLogger/makefile delete mode 100644 lib/lufa/Projects/USBtoSerial/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/USBtoSerial/Descriptors.c delete mode 100644 lib/lufa/Projects/USBtoSerial/Descriptors.h delete mode 100644 lib/lufa/Projects/USBtoSerial/LUFA USBtoSerial.inf delete mode 100644 lib/lufa/Projects/USBtoSerial/USBtoSerial.c delete mode 100644 lib/lufa/Projects/USBtoSerial/USBtoSerial.h delete mode 100644 lib/lufa/Projects/USBtoSerial/USBtoSerial.txt delete mode 100644 lib/lufa/Projects/USBtoSerial/asf.xml delete mode 100644 lib/lufa/Projects/USBtoSerial/doxyfile delete mode 100644 lib/lufa/Projects/USBtoSerial/makefile delete mode 100644 lib/lufa/Projects/Webserver/Config/AppConfig.h delete mode 100644 lib/lufa/Projects/Webserver/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/Webserver/Descriptors.c delete mode 100644 lib/lufa/Projects/Webserver/Descriptors.h delete mode 100644 lib/lufa/Projects/Webserver/LUFA Webserver RNDIS.inf delete mode 100644 lib/lufa/Projects/Webserver/Lib/DHCPClientApp.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/DHCPClientApp.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/DHCPCommon.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/DHCPCommon.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/DHCPServerApp.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/DHCPServerApp.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/DataflashManager.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/DataflashManager.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/FATFs/00readme.txt delete mode 100644 lib/lufa/Projects/Webserver/Lib/FATFs/diskio.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/FATFs/diskio.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/FATFs/ff.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/FATFs/ff.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/FATFs/ffconf.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/FATFs/integer.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/HTTPServerApp.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/HTTPServerApp.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/SCSI.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/SCSI.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/TELNETServerApp.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/TELNETServerApp.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/uIPManagement.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/uIPManagement.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/clock.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/clock.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/timer.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/timer.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/uip-split.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/uip-split.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/uip.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/uip.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/uip_arp.c delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/uip_arp.h delete mode 100644 lib/lufa/Projects/Webserver/Lib/uip/uipopt.h delete mode 100644 lib/lufa/Projects/Webserver/USBDeviceMode.c delete mode 100644 lib/lufa/Projects/Webserver/USBDeviceMode.h delete mode 100644 lib/lufa/Projects/Webserver/USBHostMode.c delete mode 100644 lib/lufa/Projects/Webserver/USBHostMode.h delete mode 100644 lib/lufa/Projects/Webserver/Webserver.c delete mode 100644 lib/lufa/Projects/Webserver/Webserver.h delete mode 100644 lib/lufa/Projects/Webserver/Webserver.txt delete mode 100644 lib/lufa/Projects/Webserver/asf.xml delete mode 100644 lib/lufa/Projects/Webserver/doxyfile delete mode 100644 lib/lufa/Projects/Webserver/makefile delete mode 100644 lib/lufa/Projects/XPLAINBridge/Config/AppConfig.h delete mode 100644 lib/lufa/Projects/XPLAINBridge/Config/LUFAConfig.h delete mode 100644 lib/lufa/Projects/XPLAINBridge/LUFA XPLAIN Bridge.inf delete mode 100644 lib/lufa/Projects/XPLAINBridge/Lib/SoftUART.c delete mode 100644 lib/lufa/Projects/XPLAINBridge/Lib/SoftUART.h delete mode 100644 lib/lufa/Projects/XPLAINBridge/USARTDescriptors.c delete mode 100644 lib/lufa/Projects/XPLAINBridge/USARTDescriptors.h delete mode 100644 lib/lufa/Projects/XPLAINBridge/XPLAINBridge.c delete mode 100644 lib/lufa/Projects/XPLAINBridge/XPLAINBridge.h delete mode 100644 lib/lufa/Projects/XPLAINBridge/XPLAINBridge.txt delete mode 100644 lib/lufa/Projects/XPLAINBridge/asf.xml delete mode 100644 lib/lufa/Projects/XPLAINBridge/doxyfile delete mode 100644 lib/lufa/Projects/XPLAINBridge/makefile delete mode 100644 lib/lufa/Projects/makefile delete mode 100644 lib/lufa/README.txt delete mode 100644 lib/lufa/makefile diff --git a/docs/ChangeLog/20190830/PR6245.md b/docs/ChangeLog/20190830/PR6245.md new file mode 100644 index 000000000000..62e71eee9e8f --- /dev/null +++ b/docs/ChangeLog/20190830/PR6245.md @@ -0,0 +1,5 @@ +* Update repo to use LUFA as a git submodule + * `/lib/LUFA` removed from the repo + * LUFA set as a submodule, pointing to qmk/lufa + * This should allow more flexibility with LUFA, and allow us to keep the sub-module up to date, a lot more easily. It was ~2 years out of date with no easy path to fix that. This prevents that from being an issue in the future + diff --git a/lib/lufa/.gitattributes b/lib/lufa/.gitattributes deleted file mode 100644 index 92dfc3c61770..000000000000 --- a/lib/lufa/.gitattributes +++ /dev/null @@ -1,94 +0,0 @@ -# auto for anything unspecified -* text=auto - -# sources -*.c text -*.cc text -*.cxx text -*.cpp text -*.c++ text -*.hpp text -*.h text -*.h++ text -*.hh text -*.bat text -*.coffee text -*.css text -*.htm text -*.html text -*.inc text -*.ini text -*.js text -*.jsx text -*.json text -*.less text -*.php text -*.pl text -*.py text -*.rb text -*.sass text -*.scm text -*.scss text -*.sh text -*.sql text -*.styl text -*.ts text -*.xml text -*.xhtml text - -# make files (need to always use lf for compatibility with Windows 10 bash) -Makefile eol=lf -*.mk eol=lf - -# make files (need to always use lf for compatibility with Windows 10 bash) -*.sh eol=lf - -# documentation -*.markdown text -*.md text -*.mdwn text -*.mdown text -*.mkd text -*.mkdn text -*.mdtxt text -*.mdtext text -*.txt text -AUTHORS text -CHANGELOG text -CHANGES text -CONTRIBUTING text -COPYING text -INSTALL text -license text -LICENSE text -NEWS text -readme text -*README* text -TODO text - -GRAPHICS -*.ai binary -*.bmp binary -*.eps binary -*.gif binary -*.ico binary -*.jng binary -*.jp2 binary -*.jpg binary -*.jpeg binary -*.jpx binary -*.jxr binary -*.pdf binary -*.png binary -*.psb binary -*.psd binary -*.svg text -*.svgz binary -*.tif binary -*.tiff binary -*.wbmp binary -*.webp binary - -# hex files -*.hex binary -*.eep binary diff --git a/lib/lufa/.gitignore b/lib/lufa/.gitignore deleted file mode 100644 index 1cd1dccf80b7..000000000000 --- a/lib/lufa/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -*.o -*.d -*.elf -*.hex -*.eep -*.sym -*.bin -*.lss -*.map -*.bak -*.class -Documentation/ -LUFA/StudioIntegration/ProjectGenerator/* -LUFA/StudioIntegration/DocBook/* -!LUFA/StudioIntegration/Docbook/mshelp/* -Keyboard.h \ No newline at end of file diff --git a/lib/lufa/Bootloaders/CDC/BootloaderAPI.c b/lib/lufa/Bootloaders/CDC/BootloaderAPI.c deleted file mode 100644 index 2be156808227..000000000000 --- a/lib/lufa/Bootloaders/CDC/BootloaderAPI.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * Bootloader user application API functions. - */ - -#include "BootloaderAPI.h" - -void BootloaderAPI_ErasePage(const uint32_t Address) -{ - boot_page_erase_safe(Address); - boot_spm_busy_wait(); - boot_rww_enable(); -} - -void BootloaderAPI_WritePage(const uint32_t Address) -{ - boot_page_write_safe(Address); - boot_spm_busy_wait(); - boot_rww_enable(); -} - -void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word) -{ - boot_page_fill_safe(Address, Word); -} - -uint8_t BootloaderAPI_ReadSignature(const uint16_t Address) -{ - return boot_signature_byte_get(Address); -} - -uint8_t BootloaderAPI_ReadFuse(const uint16_t Address) -{ - return boot_lock_fuse_bits_get(Address); -} - -uint8_t BootloaderAPI_ReadLock(void) -{ - return boot_lock_fuse_bits_get(GET_LOCK_BITS); -} - -void BootloaderAPI_WriteLock(const uint8_t LockBits) -{ - boot_lock_bits_set_safe(LockBits); -} diff --git a/lib/lufa/Bootloaders/CDC/BootloaderAPI.h b/lib/lufa/Bootloaders/CDC/BootloaderAPI.h deleted file mode 100644 index 5169bbc3c4b2..000000000000 --- a/lib/lufa/Bootloaders/CDC/BootloaderAPI.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * Header file for BootloaderAPI.c. - */ - -#ifndef _BOOTLOADER_API_H_ -#define _BOOTLOADER_API_H_ - - /* Includes: */ - #include - #include - #include - - #include - - #include "Config/AppConfig.h" - - /* Function Prototypes: */ - void BootloaderAPI_ErasePage(const uint32_t Address); - void BootloaderAPI_WritePage(const uint32_t Address); - void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word); - uint8_t BootloaderAPI_ReadSignature(const uint16_t Address); - uint8_t BootloaderAPI_ReadFuse(const uint16_t Address); - uint8_t BootloaderAPI_ReadLock(void); - void BootloaderAPI_WriteLock(const uint8_t LockBits); - -#endif - diff --git a/lib/lufa/Bootloaders/CDC/BootloaderAPITable.S b/lib/lufa/Bootloaders/CDC/BootloaderAPITable.S deleted file mode 100644 index 2c60f84e8dc4..000000000000 --- a/lib/lufa/Bootloaders/CDC/BootloaderAPITable.S +++ /dev/null @@ -1,91 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -; Trampolines to actual API implementations if the target address is outside the -; range of a rjmp instruction (can happen with large bootloader sections) -.section .apitable_trampolines, "ax" -.global BootloaderAPI_Trampolines -BootloaderAPI_Trampolines: - - BootloaderAPI_ErasePage_Trampoline: - jmp BootloaderAPI_ErasePage - BootloaderAPI_WritePage_Trampoline: - jmp BootloaderAPI_WritePage - BootloaderAPI_FillWord_Trampoline: - jmp BootloaderAPI_FillWord - BootloaderAPI_ReadSignature_Trampoline: - jmp BootloaderAPI_ReadSignature - BootloaderAPI_ReadFuse_Trampoline: - jmp BootloaderAPI_ReadFuse - BootloaderAPI_ReadLock_Trampoline: - jmp BootloaderAPI_ReadLock - BootloaderAPI_WriteLock_Trampoline: - jmp BootloaderAPI_WriteLock - BootloaderAPI_UNUSED1: - ret - BootloaderAPI_UNUSED2: - ret - BootloaderAPI_UNUSED3: - ret - BootloaderAPI_UNUSED4: - ret - BootloaderAPI_UNUSED5: - ret - - - -; API function jump table -.section .apitable_jumptable, "ax" -.global BootloaderAPI_JumpTable -BootloaderAPI_JumpTable: - - rjmp BootloaderAPI_ErasePage_Trampoline - rjmp BootloaderAPI_WritePage_Trampoline - rjmp BootloaderAPI_FillWord_Trampoline - rjmp BootloaderAPI_ReadSignature_Trampoline - rjmp BootloaderAPI_ReadFuse_Trampoline - rjmp BootloaderAPI_ReadLock_Trampoline - rjmp BootloaderAPI_WriteLock_Trampoline - rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 - rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 - rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 - rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 - rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 - - - -; Bootloader table signatures and information -.section .apitable_signatures, "ax" -.global BootloaderAPI_Signatures -BootloaderAPI_Signatures: - - .long BOOT_START_ADDR ; Start address of the bootloader - .word 0xDF00 ; Signature for the CDC class bootloader - .word 0xDCFB ; Signature for a LUFA class bootloader diff --git a/lib/lufa/Bootloaders/CDC/BootloaderCDC.c b/lib/lufa/Bootloaders/CDC/BootloaderCDC.c deleted file mode 100644 index aa17bc15bdf7..000000000000 --- a/lib/lufa/Bootloaders/CDC/BootloaderCDC.c +++ /dev/null @@ -1,673 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * Main source file for the CDC class bootloader. This file contains the complete bootloader logic. - */ - -#define INCLUDE_FROM_BOOTLOADERCDC_C -#include "BootloaderCDC.h" - -/** Contains the current baud rate and other settings of the first virtual serial port. This must be retained as some - * operating systems will not open the port unless the settings can be set successfully. - */ -static CDC_LineEncoding_t LineEncoding = { .BaudRateBPS = 0, - .CharFormat = CDC_LINEENCODING_OneStopBit, - .ParityType = CDC_PARITY_None, - .DataBits = 8 }; - -/** Current address counter. This stores the current address of the FLASH or EEPROM as set by the host, - * and is used when reading or writing to the AVRs memory (either FLASH or EEPROM depending on the issued - * command.) - */ -static uint32_t CurrAddress; - -/** Flag to indicate if the bootloader should be running, or should exit and allow the application code to run - * via a watchdog reset. When cleared the bootloader will exit, starting the watchdog and entering an infinite - * loop until the AVR restarts and the application runs. - */ -static bool RunBootloader = true; - -/** Magic lock for forced application start. If the HWBE fuse is programmed and BOOTRST is unprogrammed, the bootloader - * will start if the /HWB line of the AVR is held low and the system is reset. However, if the /HWB line is still held - * low when the application attempts to start via a watchdog reset, the bootloader will re-start. If set to the value - * \ref MAGIC_BOOT_KEY the special init function \ref Application_Jump_Check() will force the application to start. - */ -uint16_t MagicBootKey ATTR_NO_INIT; - - -/** Special startup routine to check if the bootloader was started via a watchdog reset, and if the magic application - * start key has been loaded into \ref MagicBootKey. If the bootloader started via the watchdog and the key is valid, - * this will force the user application to start via a software jump. - */ -void Application_Jump_Check(void) -{ - bool JumpToApplication = false; - - #if (BOARD == BOARD_LEONARDO) - /* Enable pull-up on the IO13 pin so we can use it to select the mode */ - PORTC |= (1 << 7); - Delay_MS(10); - - /* If IO13 is not jumpered to ground, start the user application instead */ - JumpToApplication = ((PINC & (1 << 7)) != 0); - - /* Disable pull-up after the check has completed */ - PORTC &= ~(1 << 7); - #elif ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) - /* Disable JTAG debugging */ - JTAG_DISABLE(); - - /* Enable pull-up on the JTAG TCK pin so we can use it to select the mode */ - PORTF |= (1 << 4); - Delay_MS(10); - - /* If the TCK pin is not jumpered to ground, start the user application instead */ - JumpToApplication = ((PINF & (1 << 4)) != 0); - - /* Re-enable JTAG debugging */ - JTAG_ENABLE(); - #else - /* Check if the device's BOOTRST fuse is set */ - if (boot_lock_fuse_bits_get(GET_HIGH_FUSE_BITS) & FUSE_BOOTRST) - { - /* If the reset source was not an external reset or the key is correct, clear it and jump to the application */ - if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY)) - JumpToApplication = true; - - /* Clear reset source */ - MCUSR &= ~(1 << EXTRF); - } - else - { - /* If the reset source was the bootloader and the key is correct, clear it and jump to the application; - * this can happen in the HWBE fuse is set, and the HBE pin is low during the watchdog reset */ - if ((MCUSR & (1 << WDRF)) && (MagicBootKey == MAGIC_BOOT_KEY)) - JumpToApplication = true; - - /* Clear reset source */ - MCUSR &= ~(1 << WDRF); - } - #endif - - /* Don't run the user application if the reset vector is blank (no app loaded) */ - bool ApplicationValid = (pgm_read_word_near(0) != 0xFFFF); - - /* If a request has been made to jump to the user application, honor it */ - if (JumpToApplication && ApplicationValid) - { - /* Turn off the watchdog */ - MCUSR &= ~(1 << WDRF); - wdt_disable(); - - /* Clear the boot key and jump to the user application */ - MagicBootKey = 0; - - // cppcheck-suppress constStatement - ((void (*)(void))0x0000)(); - } -} - -/** Main program entry point. This routine configures the hardware required by the bootloader, then continuously - * runs the bootloader processing routine until instructed to soft-exit, or hard-reset via the watchdog to start - * the loaded application code. - */ -int main(void) -{ - /* Setup hardware required for the bootloader */ - SetupHardware(); - - /* Turn on first LED on the board to indicate that the bootloader has started */ - LEDs_SetAllLEDs(LEDS_LED1); - - /* Enable global interrupts so that the USB stack can function */ - GlobalInterruptEnable(); - - while (RunBootloader) - { - CDC_Task(); - USB_USBTask(); - } - - /* Wait a short time to end all USB transactions and then disconnect */ - _delay_us(1000); - - /* Disconnect from the host - USB interface will be reset later along with the AVR */ - USB_Detach(); - - /* Unlock the forced application start mode of the bootloader if it is restarted */ - MagicBootKey = MAGIC_BOOT_KEY; - - /* Enable the watchdog and force a timeout to reset the AVR */ - wdt_enable(WDTO_250MS); - - for (;;); -} - -/** Configures all hardware required for the bootloader. */ -static void SetupHardware(void) -{ - /* Disable watchdog if enabled by bootloader/fuses */ - MCUSR &= ~(1 << WDRF); - wdt_disable(); - - /* Disable clock division */ - clock_prescale_set(clock_div_1); - - /* Relocate the interrupt vector table to the bootloader section */ - MCUCR = (1 << IVCE); - MCUCR = (1 << IVSEL); - - /* Initialize the USB and other board hardware drivers */ - USB_Init(); - LEDs_Init(); - - /* Bootloader active LED toggle timer initialization */ - TIMSK1 = (1 << TOIE1); - TCCR1B = ((1 << CS11) | (1 << CS10)); -} - -/** ISR to periodically toggle the LEDs on the board to indicate that the bootloader is active. */ -ISR(TIMER1_OVF_vect, ISR_BLOCK) -{ - LEDs_ToggleLEDs(LEDS_LED1 | LEDS_LED2); -} - -/** Event handler for the USB_ConfigurationChanged event. This configures the device's endpoints ready - * to relay data to and from the attached USB host. - */ -void EVENT_USB_Device_ConfigurationChanged(void) -{ - /* Setup CDC Notification, Rx and Tx Endpoints */ - Endpoint_ConfigureEndpoint(CDC_NOTIFICATION_EPADDR, EP_TYPE_INTERRUPT, - CDC_NOTIFICATION_EPSIZE, 1); - - Endpoint_ConfigureEndpoint(CDC_TX_EPADDR, EP_TYPE_BULK, CDC_TXRX_EPSIZE, 1); - - Endpoint_ConfigureEndpoint(CDC_RX_EPADDR, EP_TYPE_BULK, CDC_TXRX_EPSIZE, 1); -} - -/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to - * the device from the USB host before passing along unhandled control requests to the library for processing - * internally. - */ -void EVENT_USB_Device_ControlRequest(void) -{ - /* Ignore any requests that aren't directed to the CDC interface */ - if ((USB_ControlRequest.bmRequestType & (CONTROL_REQTYPE_TYPE | CONTROL_REQTYPE_RECIPIENT)) != - (REQTYPE_CLASS | REQREC_INTERFACE)) - { - return; - } - - /* Activity - toggle indicator LEDs */ - LEDs_ToggleLEDs(LEDS_LED1 | LEDS_LED2); - - /* Process CDC specific control requests */ - switch (USB_ControlRequest.bRequest) - { - case CDC_REQ_GetLineEncoding: - if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE)) - { - Endpoint_ClearSETUP(); - - /* Write the line coding data to the control endpoint */ - Endpoint_Write_Control_Stream_LE(&LineEncoding, sizeof(CDC_LineEncoding_t)); - Endpoint_ClearOUT(); - } - - break; - case CDC_REQ_SetLineEncoding: - if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE)) - { - Endpoint_ClearSETUP(); - - /* Read the line coding data in from the host into the global struct */ - Endpoint_Read_Control_Stream_LE(&LineEncoding, sizeof(CDC_LineEncoding_t)); - Endpoint_ClearIN(); - } - - break; - case CDC_REQ_SetControlLineState: - if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE)) - { - Endpoint_ClearSETUP(); - Endpoint_ClearStatusStage(); - } - - break; - } -} - -#if !defined(NO_BLOCK_SUPPORT) -/** Reads or writes a block of EEPROM or FLASH memory to or from the appropriate CDC data endpoint, depending - * on the AVR109 protocol command issued. - * - * \param[in] Command Single character AVR109 protocol command indicating what memory operation to perform - */ -static void ReadWriteMemoryBlock(const uint8_t Command) -{ - uint16_t BlockSize; - char MemoryType; - - uint8_t HighByte = 0; - uint8_t LowByte = 0; - - BlockSize = (FetchNextCommandByte() << 8); - BlockSize |= FetchNextCommandByte(); - - MemoryType = FetchNextCommandByte(); - - if ((MemoryType != MEMORY_TYPE_FLASH) && (MemoryType != MEMORY_TYPE_EEPROM)) - { - /* Send error byte back to the host */ - WriteNextResponseByte('?'); - - return; - } - - /* Check if command is to read a memory block */ - if (Command == AVR109_COMMAND_BlockRead) - { - /* Re-enable RWW section */ - boot_rww_enable(); - - while (BlockSize--) - { - if (MemoryType == MEMORY_TYPE_FLASH) - { - /* Read the next FLASH byte from the current FLASH page */ - #if (FLASHEND > 0xFFFF) - WriteNextResponseByte(pgm_read_byte_far(CurrAddress | HighByte)); - #else - WriteNextResponseByte(pgm_read_byte(CurrAddress | HighByte)); - #endif - - /* If both bytes in current word have been read, increment the address counter */ - if (HighByte) - CurrAddress += 2; - - HighByte = !HighByte; - } - else - { - /* Read the next EEPROM byte into the endpoint */ - WriteNextResponseByte(eeprom_read_byte((uint8_t*)(intptr_t)(CurrAddress >> 1))); - - /* Increment the address counter after use */ - CurrAddress += 2; - } - } - } - else - { - uint32_t PageStartAddress = CurrAddress; - - if (MemoryType == MEMORY_TYPE_FLASH) - { - boot_page_erase(PageStartAddress); - boot_spm_busy_wait(); - } - - while (BlockSize--) - { - if (MemoryType == MEMORY_TYPE_FLASH) - { - /* If both bytes in current word have been written, increment the address counter */ - if (HighByte) - { - /* Write the next FLASH word to the current FLASH page */ - boot_page_fill(CurrAddress, ((FetchNextCommandByte() << 8) | LowByte)); - - /* Increment the address counter after use */ - CurrAddress += 2; - } - else - { - LowByte = FetchNextCommandByte(); - } - - HighByte = !HighByte; - } - else - { - /* Write the next EEPROM byte from the endpoint */ - eeprom_update_byte((uint8_t*)((intptr_t)(CurrAddress >> 1)), FetchNextCommandByte()); - - /* Increment the address counter after use */ - CurrAddress += 2; - } - } - - /* If in FLASH programming mode, commit the page after writing */ - if (MemoryType == MEMORY_TYPE_FLASH) - { - /* Commit the flash page to memory */ - boot_page_write(PageStartAddress); - - /* Wait until write operation has completed */ - boot_spm_busy_wait(); - } - - /* Send response byte back to the host */ - WriteNextResponseByte('\r'); - } -} -#endif - -/** Retrieves the next byte from the host in the CDC data OUT endpoint, and clears the endpoint bank if needed - * to allow reception of the next data packet from the host. - * - * \return Next received byte from the host in the CDC data OUT endpoint - */ -static uint8_t FetchNextCommandByte(void) -{ - /* Select the OUT endpoint so that the next data byte can be read */ - Endpoint_SelectEndpoint(CDC_RX_EPADDR); - - /* If OUT endpoint empty, clear it and wait for the next packet from the host */ - while (!(Endpoint_IsReadWriteAllowed())) - { - Endpoint_ClearOUT(); - - while (!(Endpoint_IsOUTReceived())) - { - if (USB_DeviceState == DEVICE_STATE_Unattached) - return 0; - } - } - - /* Fetch the next byte from the OUT endpoint */ - return Endpoint_Read_8(); -} - -/** Writes the next response byte to the CDC data IN endpoint, and sends the endpoint back if needed to free up the - * bank when full ready for the next byte in the packet to the host. - * - * \param[in] Response Next response byte to send to the host - */ -static void WriteNextResponseByte(const uint8_t Response) -{ - /* Select the IN endpoint so that the next data byte can be written */ - Endpoint_SelectEndpoint(CDC_TX_EPADDR); - - /* If IN endpoint full, clear it and wait until ready for the next packet to the host */ - if (!(Endpoint_IsReadWriteAllowed())) - { - Endpoint_ClearIN(); - - while (!(Endpoint_IsINReady())) - { - if (USB_DeviceState == DEVICE_STATE_Unattached) - return; - } - } - - /* Write the next byte to the IN endpoint */ - Endpoint_Write_8(Response); -} - -/** Task to read in AVR109 commands from the CDC data OUT endpoint, process them, perform the required actions - * and send the appropriate response back to the host. - */ -static void CDC_Task(void) -{ - /* Select the OUT endpoint */ - Endpoint_SelectEndpoint(CDC_RX_EPADDR); - - /* Check if endpoint has a command in it sent from the host */ - if (!(Endpoint_IsOUTReceived())) - return; - - /* Read in the bootloader command (first byte sent from host) */ - uint8_t Command = FetchNextCommandByte(); - - if (Command == AVR109_COMMAND_ExitBootloader) - { - RunBootloader = false; - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - else if ((Command == AVR109_COMMAND_SetLED) || (Command == AVR109_COMMAND_ClearLED) || - (Command == AVR109_COMMAND_SelectDeviceType)) - { - FetchNextCommandByte(); - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - else if ((Command == AVR109_COMMAND_EnterProgrammingMode) || (Command == AVR109_COMMAND_LeaveProgrammingMode)) - { - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - else if (Command == AVR109_COMMAND_ReadPartCode) - { - /* Return ATMEGA128 part code - this is only to allow AVRProg to use the bootloader */ - WriteNextResponseByte(0x44); - WriteNextResponseByte(0x00); - } - else if (Command == AVR109_COMMAND_ReadAutoAddressIncrement) - { - /* Indicate auto-address increment is supported */ - WriteNextResponseByte('Y'); - } - else if (Command == AVR109_COMMAND_SetCurrentAddress) - { - /* Set the current address to that given by the host (translate 16-bit word address to byte address) */ - CurrAddress = (FetchNextCommandByte() << 9); - CurrAddress |= (FetchNextCommandByte() << 1); - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - else if (Command == AVR109_COMMAND_ReadBootloaderInterface) - { - /* Indicate serial programmer back to the host */ - WriteNextResponseByte('S'); - } - else if (Command == AVR109_COMMAND_ReadBootloaderIdentifier) - { - /* Write the 7-byte software identifier to the endpoint */ - for (uint8_t CurrByte = 0; CurrByte < 7; CurrByte++) - WriteNextResponseByte(SOFTWARE_IDENTIFIER[CurrByte]); - } - else if (Command == AVR109_COMMAND_ReadBootloaderSWVersion) - { - WriteNextResponseByte('0' + BOOTLOADER_VERSION_MAJOR); - WriteNextResponseByte('0' + BOOTLOADER_VERSION_MINOR); - } - else if (Command == AVR109_COMMAND_ReadSignature) - { - WriteNextResponseByte(AVR_SIGNATURE_3); - WriteNextResponseByte(AVR_SIGNATURE_2); - WriteNextResponseByte(AVR_SIGNATURE_1); - } - else if (Command == AVR109_COMMAND_EraseFLASH) - { - /* Clear the application section of flash */ - for (uint32_t CurrFlashAddress = 0; CurrFlashAddress < (uint32_t)BOOT_START_ADDR; CurrFlashAddress += SPM_PAGESIZE) - { - boot_page_erase(CurrFlashAddress); - boot_spm_busy_wait(); - boot_page_write(CurrFlashAddress); - boot_spm_busy_wait(); - } - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - #if !defined(NO_LOCK_BYTE_WRITE_SUPPORT) - else if (Command == AVR109_COMMAND_WriteLockbits) - { - /* Set the lock bits to those given by the host */ - boot_lock_bits_set(FetchNextCommandByte()); - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - #endif - else if (Command == AVR109_COMMAND_ReadLockbits) - { - WriteNextResponseByte(boot_lock_fuse_bits_get(GET_LOCK_BITS)); - } - else if (Command == AVR109_COMMAND_ReadLowFuses) - { - WriteNextResponseByte(boot_lock_fuse_bits_get(GET_LOW_FUSE_BITS)); - } - else if (Command == AVR109_COMMAND_ReadHighFuses) - { - WriteNextResponseByte(boot_lock_fuse_bits_get(GET_HIGH_FUSE_BITS)); - } - else if (Command == AVR109_COMMAND_ReadExtendedFuses) - { - WriteNextResponseByte(boot_lock_fuse_bits_get(GET_EXTENDED_FUSE_BITS)); - } - #if !defined(NO_BLOCK_SUPPORT) - else if (Command == AVR109_COMMAND_GetBlockWriteSupport) - { - WriteNextResponseByte('Y'); - - /* Send block size to the host */ - WriteNextResponseByte(SPM_PAGESIZE >> 8); - WriteNextResponseByte(SPM_PAGESIZE & 0xFF); - } - else if ((Command == AVR109_COMMAND_BlockWrite) || (Command == AVR109_COMMAND_BlockRead)) - { - /* Delegate the block write/read to a separate function for clarity */ - ReadWriteMemoryBlock(Command); - } - #endif - #if !defined(NO_FLASH_BYTE_SUPPORT) - else if (Command == AVR109_COMMAND_FillFlashPageWordHigh) - { - /* Write the high byte to the current flash page */ - boot_page_fill(CurrAddress, FetchNextCommandByte()); - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - else if (Command == AVR109_COMMAND_FillFlashPageWordLow) - { - /* Write the low byte to the current flash page */ - boot_page_fill(CurrAddress | 0x01, FetchNextCommandByte()); - - /* Increment the address */ - CurrAddress += 2; - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - else if (Command == AVR109_COMMAND_WriteFlashPage) - { - /* Commit the flash page to memory */ - boot_page_write(CurrAddress); - - /* Wait until write operation has completed */ - boot_spm_busy_wait(); - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - else if (Command == AVR109_COMMAND_ReadFLASHWord) - { - #if (FLASHEND > 0xFFFF) - uint16_t ProgramWord = pgm_read_word_far(CurrAddress); - #else - uint16_t ProgramWord = pgm_read_word(CurrAddress); - #endif - - WriteNextResponseByte(ProgramWord >> 8); - WriteNextResponseByte(ProgramWord & 0xFF); - } - #endif - #if !defined(NO_EEPROM_BYTE_SUPPORT) - else if (Command == AVR109_COMMAND_WriteEEPROM) - { - /* Read the byte from the endpoint and write it to the EEPROM */ - eeprom_update_byte((uint8_t*)((intptr_t)(CurrAddress >> 1)), FetchNextCommandByte()); - - /* Increment the address after use */ - CurrAddress += 2; - - /* Send confirmation byte back to the host */ - WriteNextResponseByte('\r'); - } - else if (Command == AVR109_COMMAND_ReadEEPROM) - { - /* Read the EEPROM byte and write it to the endpoint */ - WriteNextResponseByte(eeprom_read_byte((uint8_t*)((intptr_t)(CurrAddress >> 1)))); - - /* Increment the address after use */ - CurrAddress += 2; - } - #endif - else if (Command != AVR109_COMMAND_Sync) - { - /* Unknown (non-sync) command, return fail code */ - WriteNextResponseByte('?'); - } - - /* Select the IN endpoint */ - Endpoint_SelectEndpoint(CDC_TX_EPADDR); - - /* Remember if the endpoint is completely full before clearing it */ - bool IsEndpointFull = !(Endpoint_IsReadWriteAllowed()); - - /* Send the endpoint data to the host */ - Endpoint_ClearIN(); - - /* If a full endpoint's worth of data was sent, we need to send an empty packet afterwards to signal end of transfer */ - if (IsEndpointFull) - { - while (!(Endpoint_IsINReady())) - { - if (USB_DeviceState == DEVICE_STATE_Unattached) - return; - } - - Endpoint_ClearIN(); - } - - /* Wait until the data has been sent to the host */ - while (!(Endpoint_IsINReady())) - { - if (USB_DeviceState == DEVICE_STATE_Unattached) - return; - } - - /* Select the OUT endpoint */ - Endpoint_SelectEndpoint(CDC_RX_EPADDR); - - /* Acknowledge the command from the host */ - Endpoint_ClearOUT(); -} diff --git a/lib/lufa/Bootloaders/CDC/BootloaderCDC.h b/lib/lufa/Bootloaders/CDC/BootloaderCDC.h deleted file mode 100644 index b6543aa73824..000000000000 --- a/lib/lufa/Bootloaders/CDC/BootloaderCDC.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * Header file for BootloaderCDC.c. - */ - -#ifndef _CDC_H_ -#define _CDC_H_ - - /* Includes: */ - #include - #include - #include - #include - #include - #include - #include - - #include "Descriptors.h" - #include "BootloaderAPI.h" - #include "Config/AppConfig.h" - - #include - #include - #include - - /* Preprocessor Checks: */ - #if !defined(__OPTIMIZE_SIZE__) - #error This bootloader requires that it be optimized for size, not speed, to fit into the target device. Change optimization settings and try again. - #endif - - /* Macros: */ - /** Version major of the CDC bootloader. */ - #define BOOTLOADER_VERSION_MAJOR 0x01 - - /** Version minor of the CDC bootloader. */ - #define BOOTLOADER_VERSION_MINOR 0x00 - - /** Hardware version major of the CDC bootloader. */ - #define BOOTLOADER_HWVERSION_MAJOR 0x01 - - /** Hardware version minor of the CDC bootloader. */ - #define BOOTLOADER_HWVERSION_MINOR 0x00 - - /** Eight character bootloader firmware identifier reported to the host when requested. */ - #define SOFTWARE_IDENTIFIER "LUFACDC" - - /** Magic bootloader key to unlock forced application start mode. */ - #define MAGIC_BOOT_KEY 0xDC42 - - /* Enums: */ - /** Possible memory types that can be addressed via the bootloader. */ - enum AVR109_Memories - { - MEMORY_TYPE_FLASH = 'F', - MEMORY_TYPE_EEPROM = 'E', - }; - - /** Possible commands that can be issued to the bootloader. */ - enum AVR109_Commands - { - AVR109_COMMAND_Sync = 27, - AVR109_COMMAND_ReadEEPROM = 'd', - AVR109_COMMAND_WriteEEPROM = 'D', - AVR109_COMMAND_ReadFLASHWord = 'R', - AVR109_COMMAND_WriteFlashPage = 'm', - AVR109_COMMAND_FillFlashPageWordLow = 'c', - AVR109_COMMAND_FillFlashPageWordHigh = 'C', - AVR109_COMMAND_GetBlockWriteSupport = 'b', - AVR109_COMMAND_BlockWrite = 'B', - AVR109_COMMAND_BlockRead = 'g', - AVR109_COMMAND_ReadExtendedFuses = 'Q', - AVR109_COMMAND_ReadHighFuses = 'N', - AVR109_COMMAND_ReadLowFuses = 'F', - AVR109_COMMAND_ReadLockbits = 'r', - AVR109_COMMAND_WriteLockbits = 'l', - AVR109_COMMAND_EraseFLASH = 'e', - AVR109_COMMAND_ReadSignature = 's', - AVR109_COMMAND_ReadBootloaderSWVersion = 'V', - AVR109_COMMAND_ReadBootloaderHWVersion = 'v', - AVR109_COMMAND_ReadBootloaderIdentifier = 'S', - AVR109_COMMAND_ReadBootloaderInterface = 'p', - AVR109_COMMAND_SetCurrentAddress = 'A', - AVR109_COMMAND_ReadAutoAddressIncrement = 'a', - AVR109_COMMAND_ReadPartCode = 't', - AVR109_COMMAND_EnterProgrammingMode = 'P', - AVR109_COMMAND_LeaveProgrammingMode = 'L', - AVR109_COMMAND_SelectDeviceType = 'T', - AVR109_COMMAND_SetLED = 'x', - AVR109_COMMAND_ClearLED = 'y', - AVR109_COMMAND_ExitBootloader = 'E', - }; - - /* Type Defines: */ - /** Type define for a non-returning pointer to the start of the loaded application in flash memory. */ - typedef void (*AppPtr_t)(void) ATTR_NO_RETURN; - - /* Function Prototypes: */ - static void CDC_Task(void); - static void SetupHardware(void); - - void Application_Jump_Check(void) ATTR_INIT_SECTION(3); - - void EVENT_USB_Device_ConfigurationChanged(void); - - #if defined(INCLUDE_FROM_BOOTLOADERCDC_C) || defined(__DOXYGEN__) - #if !defined(NO_BLOCK_SUPPORT) - static void ReadWriteMemoryBlock(const uint8_t Command); - #endif - static uint8_t FetchNextCommandByte(void); - static void WriteNextResponseByte(const uint8_t Response); - #endif - -#endif - diff --git a/lib/lufa/Bootloaders/CDC/BootloaderCDC.txt b/lib/lufa/Bootloaders/CDC/BootloaderCDC.txt deleted file mode 100644 index f8c349cdedbf..000000000000 --- a/lib/lufa/Bootloaders/CDC/BootloaderCDC.txt +++ /dev/null @@ -1,242 +0,0 @@ -/** \file - * - * This file contains special DoxyGen information for the generation of the main page and other special - * documentation pages. It is not a project source file. - */ - -/** \mainpage CDC Class USB AVR Bootloader - * - * \section Sec_Compat Demo Compatibility: - * - * The following list indicates what microcontrollers are compatible with this demo. - * - * \li Series 7 USB AVRs (AT90USBxxx7) - * \li Series 6 USB AVRs (AT90USBxxx6) - * \li Series 4 USB AVRs (ATMEGAxxU4) - * \li Series 2 USB AVRs (AT90USBxx2, ATMEGAxxU2) - * - * \section Sec_Info USB Information: - * - * The following table gives a rundown of the USB utilization of this demo. - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
USB Mode:Device
USB Class:Communications Device Class (CDC)
USB Subclass:Abstract Control Model (ACM)
Relevant Standards:USBIF CDC Class Standard
Supported USB Speeds:Full Speed Mode
- * - * \section Sec_Description Project Description: - * - * This bootloader enumerates to the host as a CDC Class device (virtual serial port), allowing for AVR109 - * protocol compatible programming software to load firmware onto the AVR. - * - * Out of the box this bootloader builds for the AT90USB1287 with an 8KB bootloader section size, and will fit - * into 4KB of bootloader space. If you wish to alter this size and/or change the AVR model, you will need to - * edit the MCU, FLASH_SIZE_KB and BOOT_SECTION_SIZE_KB values in the accompanying makefile. - * - * When the bootloader is running, the board's LED(s) will flash at regular intervals to distinguish the - * bootloader from the normal user application. - * - * \warning THIS BOOTLOADER IS NOT SECURE. Malicious entities can recover written data, even if the device - * lockbits are set. - * - * \section Sec_Running Running the Bootloader - * - * On the USB AVR8 devices, setting the \c HWBE device fuse will cause the bootloader to run if the \c HWB pin of - * the AVR is grounded when the device is reset. - * - * The are two behaviours of this bootloader, depending on the device's fuses: - * - * If the device's BOOTRST fuse is set, the bootloader will run any time the system is reset from - * the external reset pin, unless no valid user application has been loaded. To initiate the bootloader, the - * device's external reset pin should be grounded momentarily. - * - * If the device's BOOTRST fuse is not set, the bootloader will run only if initiated via a software - * jump, or if the \c HWB pin was low during the last device reset (if the \c HWBE fuse is set). - * - * For board specific exceptions to the above, see below. - * - * \subsection SSec_XPLAIN Atmel Xplain Board - * Ground the USB AVR JTAG's \c TCK pin to ground when powering on the board to start the bootloader. This assumes the - * \c HWBE fuse is cleared and the \c BOOTRST fuse is set as the HWBE pin is not user accessible on this board. - * - * \subsection SSec_Leonardo Arduino Leonardo Board - * Ground \c IO13 when powering the board to start the bootloader. This assumes the \c HWBE fuse is cleared and the - * \c BOOTRST fuse is set as the HWBE pin is not user accessible on this board. - * - * \section Sec_Installation Driver Installation - * - * After running this bootloader for the first time on a new computer, you will need to supply the .INF - * file located in this bootloader project's directory as the device's driver when running under Windows. - * This will enable Windows to use its inbuilt CDC drivers, negating the need for custom drivers for the - * device. Other Operating Systems should automatically use their own inbuilt CDC-ACM drivers. - * - * \section Sec_HostApp Host Controller Application - * - * This bootloader is compatible with the open source application AVRDUDE, Atmel's AVRPROG, or other - * applications implementing the AVR109 protocol, which is documented on the Atmel website as an application - * note. - * - * \subsection SSec_AVRDude AVRDUDE (Windows, Mac, Linux) - * - * AVRDude is a free, cross-platform and open source command line programmer for Atmel and third party AVR - * programmers. It is available on the the Windows platform as part of the "WinAVR" package, or on other systems - * either from a build from the official source code, or in many distributions as a precompiled binary package. - * - * To load a new HEX file with AVRDude, specify "AVR109" as the programmer, with the allocated COM port. On Windows - * platforms this will be a COMx port name: - * \code - * avrdude -c AVR109 -p at90usb1287 -P COM0 -U flash:w:Mouse.hex - * \endcode - * - * On Linux systems, this will typically be a /dev/ttyACMx port name: - * \code - * avrdude -c AVR109 -p at90usb1287 -P /dev/ttyACM0 -U flash:w:Mouse.hex - * \endcode - * - * Refer to the AVRDude project documentation for additional usage instructions. - * - * \section Sec_API User Application API - * - * Several user application functions for FLASH and other special memory area manipulations are exposed by the bootloader, - * allowing the user application to call into the bootloader at runtime to read and write FLASH data. - * - * By default, the bootloader API jump table is located 32 bytes from the end of the device's FLASH memory, and follows the - * following layout: - * - * \code - * #define BOOTLOADER_API_TABLE_SIZE 32 - * #define BOOTLOADER_API_TABLE_START ((FLASHEND + 1UL) - BOOTLOADER_API_TABLE_SIZE) - * #define BOOTLOADER_API_CALL(Index) (void*)((BOOTLOADER_API_TABLE_START + (Index * 2)) / 2) - * - * void (*BootloaderAPI_ErasePage)(uint32_t Address) = BOOTLOADER_API_CALL(0); - * void (*BootloaderAPI_WritePage)(uint32_t Address) = BOOTLOADER_API_CALL(1); - * void (*BootloaderAPI_FillWord)(uint32_t Address, uint16_t Word) = BOOTLOADER_API_CALL(2); - * uint8_t (*BootloaderAPI_ReadSignature)(uint16_t Address) = BOOTLOADER_API_CALL(3); - * uint8_t (*BootloaderAPI_ReadFuse)(uint16_t Address) = BOOTLOADER_API_CALL(4); - * uint8_t (*BootloaderAPI_ReadLock)(void) = BOOTLOADER_API_CALL(5); - * void (*BootloaderAPI_WriteLock)(uint8_t LockBits) = BOOTLOADER_API_CALL(6); - * - * #define BOOTLOADER_MAGIC_SIGNATURE_START (BOOTLOADER_API_TABLE_START + (BOOTLOADER_API_TABLE_SIZE - 2)) - * #define BOOTLOADER_MAGIC_SIGNATURE 0xDCFB - * - * #define BOOTLOADER_CLASS_SIGNATURE_START (BOOTLOADER_API_TABLE_START + (BOOTLOADER_API_TABLE_SIZE - 4)) - * #define BOOTLOADER_CDC_SIGNATURE 0xDF00 - * - * #define BOOTLOADER_ADDRESS_START (BOOTLOADER_API_TABLE_START + (BOOTLOADER_API_TABLE_SIZE - 8)) - * #define BOOTLOADER_ADDRESS_LENGTH 4 - * \endcode - * - * From the application the API support of the bootloader can be detected by reading the FLASH memory bytes located at address - * \c BOOTLOADER_MAGIC_SIGNATURE_START and comparing them to the value \c BOOTLOADER_MAGIC_SIGNATURE. The class of bootloader - * can be determined by reading the FLASH memory bytes located at address \c BOOTLOADER_CLASS_SIGNATURE_START and comparing them - * to the value \c BOOTLOADER_CDC_SIGNATURE. The start address of the bootloader can be retrieved by reading the bytes of FLASH - * memory starting from address \c BOOTLOADER_ADDRESS_START. - * - * \subsection SSec_API_MemLayout Device Memory Map - * The following illustration indicates the final memory map of the device when loaded with the bootloader. - * - * \verbatim - * +----------------------------+ 0x0000 - * | | - * | | - * | | - * | | - * | | - * | | - * | | - * | | - * | User Application | - * | | - * | | - * | | - * | | - * | | - * | | - * | | - * +----------------------------+ FLASHEND - BOOT_SECTION_SIZE - * | | - * | Bootloader Application | - * | (Not User App. Accessible) | - * | | - * +----------------------------+ FLASHEND - 96 - * | API Table Trampolines | - * | (Not User App. Accessible) | - * +----------------------------+ FLASHEND - 32 - * | Bootloader API Table | - * | (User App. Accessible) | - * +----------------------------+ FLASHEND - 8 - * | Bootloader ID Constants | - * | (User App. Accessible) | - * +----------------------------+ FLASHEND - * \endverbatim - * - * \section Sec_KnownIssues Known Issues: - * - * \par On Linux machines, the CDC bootloader is unstable or inaccessible. - * A change to the \c ModemManager module in many Linux distributions causes - * this module to try to take control over inserted CDC devices, corrupting the - * datastream. A UDEV rule is required to prevent this. - * See here for resolution steps. - * If the issue still persists then uninstall modemmanager by executing sudo apt-get remove modemmanager, or - * the equivalent using your chosen distribution's package manager. - * - * \par On Linux machines, the CDC bootloader is inaccessible. - * On many Linux systems, non-root users do not have automatic access to newly - * inserted CDC devices. Root privileges or a UDEV rule is required to gain - * access. - * See here for resolution steps. - * - * \section Sec_Options Project Options - * - * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
Define Name:Location:Description:
NO_BLOCK_SUPPORTAppConfig.hDefine to disable memory block read/write support in the bootloader, requiring all reads and writes to be made - * using the byte-level commands.
NO_EEPROM_BYTE_SUPPORTAppConfig.hDefine to disable EEPROM memory byte read/write support in the bootloader, requiring all EEPROM reads and writes - * to be made using the block-level commands.
NO_FLASH_BYTE_SUPPORTAppConfig.hDefine to disable FLASH memory byte read/write support in the bootloader, requiring all FLASH reads and writes - * to be made using the block-level commands.
NO_LOCK_BYTE_WRITE_SUPPORTAppConfig.hDefine to disable lock byte write support in the bootloader, preventing the lock bits from being set programmatically.
- */ - diff --git a/lib/lufa/Bootloaders/CDC/Config/AppConfig.h b/lib/lufa/Bootloaders/CDC/Config/AppConfig.h deleted file mode 100644 index 22972b72fe1f..000000000000 --- a/lib/lufa/Bootloaders/CDC/Config/AppConfig.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * \brief Application Configuration Header File - * - * This is a header file which is be used to configure LUFA's - * compile time options, as an alternative to the compile time - * constants supplied through a makefile. - * - * For information on what each token does, refer to the - * \ref Sec_Options section of the application documentation. - */ - -#ifndef _APP_CONFIG_H_ -#define _APP_CONFIG_H_ - -// #define NO_BLOCK_SUPPORT -// #define NO_EEPROM_BYTE_SUPPORT -// #define NO_FLASH_BYTE_SUPPORT -// #define NO_LOCK_BYTE_WRITE_SUPPORT - -#endif diff --git a/lib/lufa/Bootloaders/CDC/Config/LUFAConfig.h b/lib/lufa/Bootloaders/CDC/Config/LUFAConfig.h deleted file mode 100644 index 5aa0e765bfc5..000000000000 --- a/lib/lufa/Bootloaders/CDC/Config/LUFAConfig.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * \brief LUFA Library Configuration Header File - * - * This header file is used to configure LUFA's compile time options, - * as an alternative to the compile time constants supplied through - * a makefile. - * - * For information on what each token does, refer to the LUFA - * manual section "Summary of Compile Tokens". - */ - -#ifndef _LUFA_CONFIG_H_ -#define _LUFA_CONFIG_H_ - - #if (ARCH == ARCH_AVR8) - - /* Non-USB Related Configuration Tokens: */ -// #define DISABLE_TERMINAL_CODES - - /* USB Class Driver Related Tokens: */ -// #define HID_HOST_BOOT_PROTOCOL_ONLY -// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here} -// #define HID_USAGE_STACK_DEPTH {Insert Value Here} -// #define HID_MAX_COLLECTIONS {Insert Value Here} -// #define HID_MAX_REPORTITEMS {Insert Value Here} -// #define HID_MAX_REPORT_IDS {Insert Value Here} -// #define NO_CLASS_DRIVER_AUTOFLUSH - - /* General USB Driver Related Tokens: */ - #define ORDERED_EP_CONFIG - #define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL) - #define USB_DEVICE_ONLY -// #define USB_HOST_ONLY -// #define USB_STREAM_TIMEOUT_MS {Insert Value Here} -// #define NO_LIMITED_CONTROLLER_CONNECT - #define NO_SOF_EVENTS - - /* USB Device Mode Driver Related Tokens: */ - #define USE_RAM_DESCRIPTORS -// #define USE_FLASH_DESCRIPTORS -// #define USE_EEPROM_DESCRIPTORS - #define NO_INTERNAL_SERIAL - #define FIXED_CONTROL_ENDPOINT_SIZE 8 - #define DEVICE_STATE_AS_GPIOR 0 - #define FIXED_NUM_CONFIGURATIONS 1 -// #define CONTROL_ONLY_DEVICE -// #define INTERRUPT_CONTROL_ENDPOINT - #define NO_DEVICE_REMOTE_WAKEUP - #define NO_DEVICE_SELF_POWER - - /* USB Host Mode Driver Related Tokens: */ -// #define HOST_STATE_AS_GPIOR {Insert Value Here} -// #define USB_HOST_TIMEOUT_MS {Insert Value Here} -// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here} -// #define NO_AUTO_VBUS_MANAGEMENT -// #define INVERTED_VBUS_ENABLE_LINE - - #else - - #error Unsupported architecture for this LUFA configuration file. - - #endif -#endif diff --git a/lib/lufa/Bootloaders/CDC/Descriptors.c b/lib/lufa/Bootloaders/CDC/Descriptors.c deleted file mode 100644 index 627657037309..000000000000 --- a/lib/lufa/Bootloaders/CDC/Descriptors.c +++ /dev/null @@ -1,244 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * USB Device Descriptors, for library use when in USB device mode. Descriptors are special - * computer-readable structures which the host requests upon device enumeration, to determine - * the device's capabilities and functions. - */ - -#include "Descriptors.h" - -/** Device descriptor structure. This descriptor, located in SRAM memory, describes the overall - * device characteristics, including the supported USB version, control endpoint size and the - * number of device configurations. The descriptor is read out by the USB host when the enumeration - * process begins. - */ -const USB_Descriptor_Device_t DeviceDescriptor = -{ - .Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device}, - - .USBSpecification = VERSION_BCD(1,1,0), - .Class = CDC_CSCP_CDCClass, - .SubClass = CDC_CSCP_NoSpecificSubclass, - .Protocol = CDC_CSCP_NoSpecificProtocol, - - .Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE, - - .VendorID = 0x03EB, - .ProductID = 0x204A, - .ReleaseNumber = VERSION_BCD(1,0,0), - - .ManufacturerStrIndex = STRING_ID_Manufacturer, - .ProductStrIndex = STRING_ID_Product, - .SerialNumStrIndex = NO_DESCRIPTOR, - - .NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS -}; - -/** Configuration descriptor structure. This descriptor, located in SRAM memory, describes the usage - * of the device in one of its supported configurations, including information about any device interfaces - * and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting - * a configuration so that the host may correctly communicate with the USB device. - */ -const USB_Descriptor_Configuration_t ConfigurationDescriptor = -{ - .Config = - { - .Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration}, - - .TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t), - .TotalInterfaces = 2, - - .ConfigurationNumber = 1, - .ConfigurationStrIndex = NO_DESCRIPTOR, - - .ConfigAttributes = USB_CONFIG_ATTR_RESERVED, - - .MaxPowerConsumption = USB_CONFIG_POWER_MA(100) - }, - - .CDC_CCI_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = INTERFACE_ID_CDC_CCI, - .AlternateSetting = 0, - - .TotalEndpoints = 1, - - .Class = CDC_CSCP_CDCClass, - .SubClass = CDC_CSCP_ACMSubclass, - .Protocol = CDC_CSCP_ATCommandProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR - }, - - .CDC_Functional_Header = - { - .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), .Type = DTYPE_CSInterface}, - .Subtype = 0x00, - - .CDCSpecification = VERSION_BCD(1,1,0), - }, - - .CDC_Functional_ACM = - { - .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), .Type = DTYPE_CSInterface}, - .Subtype = 0x02, - - .Capabilities = 0x02, - }, - - .CDC_Functional_Union = - { - .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface}, - .Subtype = 0x06, - - .MasterInterfaceNumber = INTERFACE_ID_CDC_CCI, - .SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI, - }, - - .CDC_NotificationEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = CDC_NOTIFICATION_EPADDR, - .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = CDC_NOTIFICATION_EPSIZE, - .PollingIntervalMS = 0xFF - }, - - .CDC_DCI_Interface = - { - .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - - .InterfaceNumber = INTERFACE_ID_CDC_DCI, - .AlternateSetting = 0, - - .TotalEndpoints = 2, - - .Class = CDC_CSCP_CDCDataClass, - .SubClass = CDC_CSCP_NoDataSubclass, - .Protocol = CDC_CSCP_NoDataProtocol, - - .InterfaceStrIndex = NO_DESCRIPTOR - }, - - .CDC_DataOutEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = CDC_RX_EPADDR, - .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = CDC_TXRX_EPSIZE, - .PollingIntervalMS = 0x05 - }, - - .CDC_DataInEndpoint = - { - .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - - .EndpointAddress = CDC_TX_EPADDR, - .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), - .EndpointSize = CDC_TXRX_EPSIZE, - .PollingIntervalMS = 0x05 - } -}; - -/** Language descriptor structure. This descriptor, located in SRAM memory, is returned when the host requests - * the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate - * via the language ID table available at USB.org what languages the device supports for its string descriptors. - */ -const USB_Descriptor_String_t LanguageString = USB_STRING_DESCRIPTOR_ARRAY(LANGUAGE_ID_ENG); - -/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable - * form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device - * Descriptor. - */ -const USB_Descriptor_String_t ManufacturerString = USB_STRING_DESCRIPTOR(L"Dean Camera"); - -/** Product descriptor string. This is a Unicode string containing the product's details in human readable form, - * and is read out upon request by the host when the appropriate string ID is requested, listed in the Device - * Descriptor. - */ -const USB_Descriptor_String_t ProductString = USB_STRING_DESCRIPTOR(L"LUFA CDC"); - -/** This function is called by the library when in device mode, and must be overridden (see LUFA library "USB Descriptors" - * documentation) by the application code so that the address and size of a requested descriptor can be given - * to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function - * is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the - * USB host. - */ -uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, - const uint16_t wIndex, - const void** const DescriptorAddress) -{ - const uint8_t DescriptorType = (wValue >> 8); - const uint8_t DescriptorNumber = (wValue & 0xFF); - - const void* Address = NULL; - uint16_t Size = NO_DESCRIPTOR; - - switch (DescriptorType) - { - case DTYPE_Device: - Address = &DeviceDescriptor; - Size = sizeof(USB_Descriptor_Device_t); - break; - case DTYPE_Configuration: - Address = &ConfigurationDescriptor; - Size = sizeof(USB_Descriptor_Configuration_t); - break; - case DTYPE_String: - if (DescriptorNumber == STRING_ID_Language) - { - Address = &LanguageString; - Size = LanguageString.Header.Size; - } - else if (DescriptorNumber == STRING_ID_Manufacturer) - { - Address = &ManufacturerString; - Size = ManufacturerString.Header.Size; - } - else if (DescriptorNumber == STRING_ID_Product) - { - Address = &ProductString; - Size = ProductString.Header.Size; - } - - break; - } - - *DescriptorAddress = Address; - return Size; -} - diff --git a/lib/lufa/Bootloaders/CDC/Descriptors.h b/lib/lufa/Bootloaders/CDC/Descriptors.h deleted file mode 100644 index a6fbf5262b73..000000000000 --- a/lib/lufa/Bootloaders/CDC/Descriptors.h +++ /dev/null @@ -1,158 +0,0 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org -*/ - -/* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * Header file for Descriptors.c. - */ - -#ifndef _DESCRIPTORS_H_ -#define _DESCRIPTORS_H_ - - /* Includes: */ - #include - - #include "Config/AppConfig.h" - - /* Macros: */ - #if defined(__AVR_AT90USB1287__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x97 - #define AVR_SIGNATURE_3 0x82 - #elif defined(__AVR_AT90USB647__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x96 - #define AVR_SIGNATURE_3 0x82 - #elif defined(__AVR_AT90USB1286__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x97 - #define AVR_SIGNATURE_3 0x82 - #elif defined(__AVR_AT90USB646__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x96 - #define AVR_SIGNATURE_3 0x82 - #elif defined(__AVR_ATmega32U4__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x95 - #define AVR_SIGNATURE_3 0x87 - #elif defined(__AVR_ATmega16U4__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x94 - #define AVR_SIGNATURE_3 0x88 - #elif defined(__AVR_ATmega32U2__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x95 - #define AVR_SIGNATURE_3 0x8A - #elif defined(__AVR_ATmega16U2__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x94 - #define AVR_SIGNATURE_3 0x89 - #elif defined(__AVR_AT90USB162__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x94 - #define AVR_SIGNATURE_3 0x82 - #elif defined(__AVR_ATmega8U2__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x93 - #define AVR_SIGNATURE_3 0x89 - #elif defined(__AVR_AT90USB82__) - #define AVR_SIGNATURE_1 0x1E - #define AVR_SIGNATURE_2 0x93 - #define AVR_SIGNATURE_3 0x82 - #else - #error The selected AVR part is not currently supported by this bootloader. - #endif - - /** Endpoint address for the CDC control interface event notification endpoint. */ - #define CDC_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | 2) - - /** Endpoint address for the CDC data interface TX (data IN) endpoint. */ - #define CDC_TX_EPADDR (ENDPOINT_DIR_IN | 3) - - /** Endpoint address for the CDC data interface RX (data OUT) endpoint. */ - #define CDC_RX_EPADDR (ENDPOINT_DIR_OUT | 4) - - /** Size of the CDC data interface TX and RX data endpoint banks, in bytes. */ - #define CDC_TXRX_EPSIZE 16 - - /** Size of the CDC control interface notification endpoint bank, in bytes. */ - #define CDC_NOTIFICATION_EPSIZE 8 - - /* Type Defines: */ - /** Type define for the device configuration descriptor structure. This must be defined in the - * application code, as the configuration descriptor contains several sub-descriptors which - * vary between devices, and which describe the device's usage to the host. - */ - typedef struct - { - USB_Descriptor_Configuration_Header_t Config; - - // CDC Control Interface - USB_Descriptor_Interface_t CDC_CCI_Interface; - USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header; - USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM; - USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union; - USB_Descriptor_Endpoint_t CDC_NotificationEndpoint; - - // CDC Data Interface - USB_Descriptor_Interface_t CDC_DCI_Interface; - USB_Descriptor_Endpoint_t CDC_DataOutEndpoint; - USB_Descriptor_Endpoint_t CDC_DataInEndpoint; - } USB_Descriptor_Configuration_t; - - /** Enum for the device interface descriptor IDs within the device. Each interface descriptor - * should have a unique ID index associated with it, which can be used to refer to the - * interface from other descriptors. - */ - enum InterfaceDescriptors_t - { - INTERFACE_ID_CDC_CCI = 0, /**< CDC CCI interface descriptor ID */ - INTERFACE_ID_CDC_DCI = 1, /**< CDC DCI interface descriptor ID */ - }; - - /** Enum for the device string descriptor IDs within the device. Each string descriptor should - * have a unique ID index associated with it, which can be used to refer to the string from - * other descriptors. - */ - enum StringDescriptors_t - { - STRING_ID_Language = 0, /**< Supported Languages string descriptor ID (must be zero) */ - STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */ - STRING_ID_Product = 2, /**< Product string ID */ - }; - - /* Function Prototypes: */ - uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, - const uint16_t wIndex, - const void** const DescriptorAddress) - ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); - -#endif - diff --git a/lib/lufa/Bootloaders/CDC/LUFA CDC Bootloader.inf b/lib/lufa/Bootloaders/CDC/LUFA CDC Bootloader.inf deleted file mode 100644 index 61624c7318f3..000000000000 --- a/lib/lufa/Bootloaders/CDC/LUFA CDC Bootloader.inf +++ /dev/null @@ -1,66 +0,0 @@ -;************************************************************ -; Windows USB CDC ACM Setup File -; Copyright (c) 2000 Microsoft Corporation -;************************************************************ - -[DefaultInstall] -CopyINF="LUFA CDC Bootloader.inf" - -[Version] -Signature="$Windows NT$" -Class=Ports -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} -Provider=%MFGNAME% -DriverVer=7/1/2012,10.0.0.0 - -[Manufacturer] -%MFGNAME%=DeviceList, NTx86, NTamd64, NTia64 - -[SourceDisksNames] - -[SourceDisksFiles] - -[DestinationDirs] -DefaultDestDir=12 - -[DriverInstall] -Include=mdmcpq.inf -CopyFiles=FakeModemCopyFileSection -AddReg=DriverInstall.AddReg - -[DriverInstall.Services] -Include=mdmcpq.inf -AddService=usbser, 0x00000002, LowerFilter_Service_Inst - -[DriverInstall.AddReg] -HKR,,EnumPropPages32,,"msports.dll,SerialPortPropPageProvider" - -;------------------------------------------------------------------------------ -; Vendor and Product ID Definitions -;------------------------------------------------------------------------------ -; When developing your USB device, the VID and PID used in the PC side -; application program and the firmware on the microcontroller must match. -; Modify the below line to use your VID and PID. Use the format as shown below. -; Note: One INF file can be used for multiple devices with different VID and PIDs. -; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. -;------------------------------------------------------------------------------ -[DeviceList] -%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204A - -[DeviceList.NTx86] -%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204A - -[DeviceList.NTamd64] -%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204A - -[DeviceList.NTia64] -%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204A - -;------------------------------------------------------------------------------ -; String Definitions -;------------------------------------------------------------------------------ -;Modify these strings to customize your device -;------------------------------------------------------------------------------ -[Strings] -MFGNAME="http://www.lufa-lib.org" -DESCRIPTION="LUFA CDC Class Bootloader" diff --git a/lib/lufa/Bootloaders/CDC/asf.xml b/lib/lufa/Bootloaders/CDC/asf.xml deleted file mode 100644 index 02e7063c66cf..000000000000 --- a/lib/lufa/Bootloaders/CDC/asf.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/lufa/Bootloaders/CDC/doxyfile b/lib/lufa/Bootloaders/CDC/doxyfile deleted file mode 100644 index 414693479fab..000000000000 --- a/lib/lufa/Bootloaders/CDC/doxyfile +++ /dev/null @@ -1,2396 +0,0 @@ -# Doxyfile 1.8.9 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a double hash (##) is considered a comment and is placed in -# front of the TAG it is preceding. -# -# All text after a single hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists, items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (\" \"). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. -# The default value is: UTF-8. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by -# double-quotes, unless you are using Doxywizard) that should identify the -# project for which the documentation is generated. This name is used in the -# title of most generated pages and in a few other places. -# The default value is: My Project. - -PROJECT_NAME = "LUFA Library - CDC Class Bootloader" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. This -# could be handy for archiving the generated documentation or if some version -# control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a -# quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify a logo or an icon that is included -# in the documentation. The maximum height of the logo should not exceed 55 -# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy -# the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path -# into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If -# left blank the current directory will be used. - -OUTPUT_DIRECTORY = ./Documentation/ - -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. -# The default value is: NO. - -CREATE_SUBDIRS = NO - -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII -# characters to appear in the names of generated files. If set to NO, non-ASCII -# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode -# U+3044. -# The default value is: NO. - -ALLOW_UNICODE_NAMES = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. -# The default value is: English. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member -# descriptions after the members that are listed in the file and class -# documentation (similar to Javadoc). Set to NO to disable this. -# The default value is: YES. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief -# description of a member or function before the detailed description -# -# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. -# The default value is: YES. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator that is -# used to form the text in various listings. Each string in this list, if found -# as the leading text of the brief description, will be stripped from the text -# and the result, after processing the whole list, is used as the annotated -# text. Otherwise, the brief description is used as-is. If left blank, the -# following values are used ($name is automatically replaced with the name of -# the entity):The $name class, The $name widget, The $name file, is, provides, -# specifies, contains, represents, a, an and the. - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief -# description. -# The default value is: NO. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. -# The default value is: NO. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path -# before files name in the file list and in the header files. If set to NO the -# shortest path that makes the file name unique will be used -# The default value is: YES. - -FULL_PATH_NAMES = YES - -# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. -# Stripping is only done if one of the specified strings matches the left-hand -# part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to -# strip. -# -# Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. -# This tag requires that the tag FULL_PATH_NAMES is set to YES. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the -# path mentioned in the documentation of a class, which tells the reader which -# header file to include in order to use a class. If left blank only the name of -# the header file containing the class definition is used. Otherwise one should -# specify the list of include paths that are normally passed to the compiler -# using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't -# support long names like on DOS, Mac, or CD-ROM. -# The default value is: NO. - -SHORT_NAMES = YES - -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) -# The default value is: NO. - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) -# The default value is: NO. - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a -# multi-line C++ special comment block (i.e. a block of //! or /// comments) as -# a brief description. This used to be the default behavior. The new default is -# to treat a multi-line C++ comment block as a detailed description. Set this -# tag to YES if you prefer the old behavior instead. -# -# Note that setting this tag to YES also means that rational rose comments are -# not recognized any more. -# The default value is: NO. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the -# documentation from any documented member that it re-implements. -# The default value is: YES. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new -# page for each member. If set to NO, the documentation of a member will be part -# of the file/class/namespace that contains it. -# The default value is: NO. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen -# uses this value to replace tabs by spaces in code fragments. -# Minimum value: 1, maximum value: 16, default value: 4. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that act as commands in -# the documentation. An alias has the form: -# name=value -# For example adding -# "sideeffect=@par Side Effects:\n" -# will allow you to put the command \sideeffect (or @sideeffect) in the -# documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. For -# instance, some of the names that are used will be different. The list of all -# members will be omitted, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or -# Python sources only. Doxygen will then generate output that is more tailored -# for that language. For instance, namespaces will be presented as packages, -# qualified scopes will look different, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources. Doxygen will then generate output that is tailored for Fortran. -# The default value is: NO. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for VHDL. -# The default value is: NO. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. -# -# Note: For files without extension you can use no_extension as a placeholder. -# -# Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments -# according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in -# case of backward compatibilities issues. -# The default value is: YES. - -MARKDOWN_SUPPORT = NO - -# When enabled doxygen tries to link words that correspond to documented -# classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. -# The default value is: YES. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. -# The default value is: NO. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. -# The default value is: NO. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. -# The default value is: NO. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. -# This will only work if the methods are indeed getting or setting a simple -# type. If this is not the case, or you want to show the methods anyway, you -# should set this option to NO. -# The default value is: YES. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. -# The default value is: NO. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES to allow class member groups of the same type -# (for instance a group of public functions) to be put as a subgroup of that -# type (e.g. under the Public Functions section). Set it to NO to prevent -# subgrouping. Alternatively, this can be done per class using the -# \nosubgrouping command. -# The default value is: YES. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions -# are shown inside the group in which they are included (e.g. using \ingroup) -# instead of on a separate page (for HTML and Man pages) or section (for LaTeX -# and RTF). -# -# Note that this feature does not work in combination with -# SEPARATE_MEMBER_PAGES. -# The default value is: NO. - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions -# with only public data fields or simple typedef fields will be shown inline in -# the documentation of the scope in which they are defined (i.e. file, -# namespace, or group documentation), provided this scope is documented. If set -# to NO, structs, classes, and unions are shown on a separate page (for HTML and -# Man pages) or section (for LaTeX and RTF). -# The default value is: NO. - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or -# enum is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically be -# useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. -# The default value is: NO. - -TYPEDEF_HIDES_STRUCT = NO - -# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This -# cache is used to resolve symbols given their name and scope. Since this can be -# an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The -# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range -# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest -# the optimal cache size from a speed point of view. -# Minimum value: 0, maximum value: 9, default value: 0. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in -# documentation are documented, even if no documentation was available. Private -# class members and static file members will be hidden unless the -# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. -# Note: This will also disable the warnings about undocumented members that are -# normally produced when WARNINGS is set to YES. -# The default value is: NO. - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will -# be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal -# scope will be included in the documentation. -# The default value is: NO. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be -# included in the documentation. -# The default value is: NO. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO, -# only classes defined in header files are included. Does not have any effect -# for Java sources. -# The default value is: YES. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. If set to YES, local methods, -# which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO, only methods in the interface are -# included. -# The default value is: NO. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base name of -# the file that contains the anonymous namespace. By default anonymous namespace -# are hidden. -# The default value is: NO. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all -# undocumented members inside documented classes or files. If set to NO these -# members will be included in the various overviews, but no documentation -# section is generated. This option has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. If set -# to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO, these declarations will be -# included in the documentation. -# The default value is: NO. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO, these -# blocks will be appended to the function's detailed documentation block. -# The default value is: NO. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation that is typed after a -# \internal command is included. If the tag is set to NO then the documentation -# will be excluded. Set it to YES to include the internal documentation. -# The default value is: NO. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. -# The default value is: system dependent. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES, the -# scope will be hidden. -# The default value is: NO. - -HIDE_SCOPE_NAMES = NO - -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will -# append additional text to a page's title, such as Class Reference. If set to -# YES the compound reference will be hidden. -# The default value is: NO. - -HIDE_COMPOUND_REFERENCE= NO - -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of -# the files that are included by a file in the documentation of that file. -# The default value is: YES. - -SHOW_INCLUDE_FILES = YES - -# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each -# grouped member an include statement to the documentation, telling the reader -# which file to include in order to use the member. -# The default value is: NO. - -SHOW_GROUPED_MEMB_INC = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include -# files with double quotes in the documentation rather than with sharp brackets. -# The default value is: NO. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the -# documentation for inline members. -# The default value is: YES. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the -# (detailed) documentation of file and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. -# The default value is: YES. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief -# descriptions of file, namespace and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. Note that -# this will also influence the order of the classes in the class list. -# The default value is: NO. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the -# (brief and detailed) documentation of class members so that constructors and -# destructors are listed first. If set to NO the constructors will appear in the -# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. -# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief -# member documentation. -# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting -# detailed member documentation. -# The default value is: NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy -# of group names into alphabetical order. If set to NO the group names will -# appear in their defined order. -# The default value is: NO. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by -# fully-qualified names, including namespaces. If set to NO, the class list will -# be sorted only by class name, not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the alphabetical -# list. -# The default value is: NO. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper -# type resolution of all parameters of a function it will reject a match between -# the prototype and the implementation of a member function even if there is -# only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still -# accept a match between prototype and implementation in such cases. -# The default value is: NO. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo -# list. This list is created by putting \todo commands in the documentation. -# The default value is: YES. - -GENERATE_TODOLIST = NO - -# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test -# list. This list is created by putting \test commands in the documentation. -# The default value is: YES. - -GENERATE_TESTLIST = NO - -# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug -# list. This list is created by putting \bug commands in the documentation. -# The default value is: YES. - -GENERATE_BUGLIST = NO - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) -# the deprecated list. This list is created by putting \deprecated commands in -# the documentation. -# The default value is: YES. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional documentation -# sections, marked by \if ... \endif and \cond -# ... \endcond blocks. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -# initial value of a variable or macro / define can have for it to appear in the -# documentation. If the initializer consists of more lines than specified here -# it will be hidden. Use a value of 0 to hide initializers completely. The -# appearance of the value of individual variables and macros / defines can be -# controlled using \showinitializer or \hideinitializer command in the -# documentation regardless of this setting. -# Minimum value: 0, maximum value: 10000, default value: 30. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES, the -# list will mention the files that were used to generate the documentation. -# The default value is: YES. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This -# will remove the Files entry from the Quick Index and from the Folder Tree View -# (if specified). -# The default value is: YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces -# page. This will remove the Namespaces entry from the Quick Index and from the -# Folder Tree View (if specified). -# The default value is: YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command command input-file, where command is the value of the -# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file -# version. For an example see the documentation. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can -# optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. -# -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE -# tag is left empty. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files containing -# the reference definitions. This must be a list of .bib files. The .bib -# extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. -# For LaTeX the style of the bibliography can be controlled using -# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. See also \cite for info how to create references. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# Configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the -# messages are off. -# The default value is: NO. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES -# this implies that the warnings are on. -# -# Tip: Turn warnings on while writing the documentation. -# The default value is: YES. - -WARNINGS = YES - -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate -# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: YES. - -WARN_IF_UNDOCUMENTED = YES - -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. -# The default value is: YES. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that -# are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. -# The default value is: NO. - -WARN_NO_PARAMDOC = YES - -# The WARN_FORMAT tag determines the format of the warning messages that doxygen -# can produce. The string should contain the $file, $line, and $text tags, which -# will be replaced by the file and line number from which the warning originated -# and the warning text. Optionally the format may contain $version, which will -# be replaced by the version of the file (if it could be obtained via -# FILE_VERSION_FILTER) -# The default value is: $file:$line: $text. - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning and error -# messages should be written. If left blank the output is written to standard -# error (stderr). - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag is used to specify the files and/or directories that contain -# documented source files. You may enter file names like myfile.cpp or -# directories like /usr/src/myproject. Separate the files or directories with -# spaces. -# Note: If this tag is empty the current directory is searched. - -INPUT = ./ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses -# libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. -# The default value is: UTF-8. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank the -# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, -# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, -# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, -# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, -# *.qsf, *.as and *.js. - -FILE_PATTERNS = *.h \ - *.c \ - *.txt - -# The RECURSIVE tag can be used to specify whether or not subdirectories should -# be searched for input files as well. -# The default value is: NO. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = Documentation/ - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. -# The default value is: NO. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* - -EXCLUDE_SYMBOLS = __* \ - INCLUDE_FROM_* - -# The EXAMPLE_PATH tag can be used to specify one or more files or directories -# that contain example code fragments that are included (see the \include -# command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank all -# files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude commands -# irrespective of the value of the RECURSIVE tag. -# The default value is: NO. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or directories -# that contain images that are to be included in the documentation (see the -# \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command: -# -# -# -# where is the value of the INPUT_FILTER tag, and is the -# name of an input file. Doxygen will then use the output that the filter -# program writes to standard output. If FILTER_PATTERNS is specified, this tag -# will be ignored. -# -# Note that the filter must not add or remove lines; it is applied before the -# code is scanned, but not when the output code is generated. If lines are added -# or removed, the anchors will not be placed correctly. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: pattern=filter -# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how -# filters are used. If the FILTER_PATTERNS tag is empty or if none of the -# patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will also be used to filter the input files that are used for -# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). -# The default value is: NO. - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and -# it is also possible to disable source filtering for a specific pattern using -# *.ext= (so without naming a filter). -# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page -# (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = - -#--------------------------------------------------------------------------- -# Configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will be -# generated. Documented entities will be cross-referenced with these sources. -# -# Note: To get rid of all source code in the generated output, make sure that -# also VERBATIM_HEADERS is set to NO. -# The default value is: NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. -# The default value is: NO. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any -# special comment blocks from generated source code fragments. Normal C, C++ and -# Fortran comments will always remain visible. -# The default value is: YES. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. -# The default value is: NO. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES then for each documented function -# all documented entities called/used by that function will be listed. -# The default value is: NO. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES then the hyperlinks from functions in REFERENCES_RELATION and -# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will -# link to the documentation. -# The default value is: YES. - -REFERENCES_LINK_SOURCE = NO - -# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the -# source code will show a tooltip with additional information such as prototype, -# brief description and links to the definition and documentation. Since this -# will make the HTML file larger and loading of large files a bit slower, you -# can opt to disable this feature. -# The default value is: YES. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -SOURCE_TOOLTIPS = YES - -# If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in -# source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version -# 4.8.6 or higher. -# -# To use it do the following: -# - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file -# - Make sure the INPUT points to the root of the source tree -# - Run doxygen as normal -# -# Doxygen will invoke htags (and that will in turn invoke gtags), so these -# tools must be available from the command line (i.e. in the search path). -# -# The result: instead of the source browser generated by doxygen, the links to -# source code will now point to the output of htags. -# The default value is: NO. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a -# verbatim copy of the header file for each class for which an include is -# specified. Set to NO to disable this. -# See also: Section \class. -# The default value is: YES. - -VERBATIM_HEADERS = NO - -# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. -# Note: The availability of this option depends on whether or not doxygen was -# compiled with the --with-libclang option. -# The default value is: NO. - -CLANG_ASSISTED_PARSING = NO - -# If clang assisted parsing is enabled you can provide the compiler with command -# line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories -# specified with INPUT and INCLUDE_PATH. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_OPTIONS = - -#--------------------------------------------------------------------------- -# Configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all -# compounds will be generated. Enable this if the project contains a lot of -# classes, structs, unions or interfaces. -# The default value is: YES. - -ALPHABETICAL_INDEX = YES - -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output -# The default value is: YES. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a -# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -# it. -# The default directory is: html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each -# generated HTML page (for example: .htm, .php, .asp). -# The default value is: .html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a -# standard header. -# -# To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. -# the setting GENERATE_TREEVIEW). It is highly recommended to start with a -# default header using -# doxygen -w html new_header.html new_footer.html new_stylesheet.css -# YourConfigFile -# and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally -# uses. -# Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description -# of the possible markers and block names see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard -# footer. See HTML_HEADER for more information on how to generate a default -# footer and what special commands can be used inside the footer. See also -# section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style -# sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. -# See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. -# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as -# it is more robust and this tag (HTML_STYLESHEET) will in the future become -# obsolete. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined -# cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. -# This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefore more robust against future updates. -# Doxygen will copy the style sheet files to the output directory. -# Note: The order of the extra style sheet files is of importance (e.g. the last -# style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that the -# files will be copied as-is; there are no commands or markers available. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value -# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 -# purple, and 360 is red again. -# Minimum value: 0, maximum value: 359, default value: 220. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A -# value of 255 will produce the most vivid colors. -# Minimum value: 0, maximum value: 255, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the -# luminance component of the colors in the HTML output. Values below 100 -# gradually make the output lighter, whereas values above 100 make the output -# darker. The value divided by 100 is the actual gamma applied, so 80 represents -# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not -# change the gamma. -# Minimum value: 40, maximum value: 240, default value: 80. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_SECTIONS = YES - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries -# shown in the various tree structured indices initially; the user can expand -# and collapse entries dynamically later on. Doxygen will expand the tree to -# such a level that at most the specified number of entries are visible (unless -# a fully collapsed tree already exceeds this amount). So setting the number of -# entries 1 will produce a full collapsed tree by default. 0 is a special value -# representing an infinite number of entries and will result in a full expanded -# tree by default. -# Minimum value: 0, maximum value: 9999, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files will be -# generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_DOCSET = NO - -# This tag determines the name of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# The default value is: Doxygen generated docs. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# This tag specifies a string that should uniquely identify the documentation -# set bundle. This should be a reverse domain-name style string, e.g. -# com.mycompany.MyDocSet. Doxygen will append .docset to the name. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. -# The default value is: org.doxygen.Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. -# The default value is: Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three -# additional HTML index files: index.hhp, index.hhc, and index.hhk. The -# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. -# -# The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML -# files are now used as the Windows 98 help format, and will replace the old -# Windows help format (.hlp) on all Windows platforms in the future. Compressed -# HTML files also contain an index, a table of contents, and you can search for -# words in the documentation. The HTML workshop also contains a viewer for -# compressed HTML files. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_HTMLHELP = NO - -# The CHM_FILE tag can be used to specify the file name of the resulting .chm -# file. You can add a path in front of the file if the result should not be -# written to the html output directory. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_FILE = - -# The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. -# The file has to be specified with full path. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -HHC_LOCATION = - -# The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -GENERATE_CHI = NO - -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) -# and project file content. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_INDEX_ENCODING = - -# The BINARY_TOC flag controls whether a binary table of contents is generated -# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it -# enables the Previous and Next buttons. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members to -# the table of contents of the HTML help documentation and to the tree view. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -TOC_EXPAND = YES - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that -# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help -# (.qch) of the generated HTML documentation. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify -# the file name of the resulting .qch file. The path specified is relative to -# the HTML output folder. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help -# Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt -# Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). -# The default value is: doc. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_VIRTUAL_FOLDER = doc - -# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom -# filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_SECT_FILTER_ATTRS = - -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be -# generated, together with the HTML files, they form an Eclipse help plugin. To -# install this plugin and make it available under the help contents menu in -# Eclipse, the contents of the directory containing the HTML and XML files needs -# to be copied into the plugins directory of eclipse. The name of the directory -# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. -# After copying Eclipse needs to be restarted before the help appears. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the Eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have this -# name. Each documentation set should have its own identifier. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# If you want full control over the layout of the generated HTML pages it might -# be necessary to disable the index and replace it with your own. The -# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top -# of each HTML page. A value of NO enables the index and the value YES disables -# it. Since the tabs in the index contain the same information as the navigation -# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -DISABLE_INDEX = YES - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. If the tag -# value is set to YES, a side panel will be generated containing a tree-like -# index structure (just like the one that is generated for HTML Help). For this -# to work a browser that supports JavaScript, DHTML, CSS and frames is required -# (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_TREEVIEW = YES - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. -# -# Note that a value of 0 will completely suppress the enum values from appearing -# in the overview section. -# Minimum value: 0, maximum value: 20, default value: 4. -# This tag requires that the tag GENERATE_HTML is set to YES. - -ENUM_VALUES_PER_LINE = 1 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used -# to set the initial width (in pixels) of the frame in which the tree is shown. -# Minimum value: 0, maximum value: 1500, default value: 250. -# This tag requires that the tag GENERATE_HTML is set to YES. - -TREEVIEW_WIDTH = 250 - -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to -# external symbols imported via tag files in a separate window. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of LaTeX formulas included as images in -# the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML -# output directory to force them to be regenerated. -# Minimum value: 8, maximum value: 50, default value: 10. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering -# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX -# installed or if you want to formulas look prettier in the HTML output. When -# enabled you may also need to install MathJax separately and configure the path -# to it using the MATHJAX_RELPATH option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. -# Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. -# The default value is: HTML-CSS. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax -# extension names that should be enabled during MathJax rendering. For example -# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_EXTENSIONS = - -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an -# example see the documentation. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_CODEFILE = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and -# should work on any modern browser. Note that when using HTML help -# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) -# there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then -# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to -# search using the keyboard; to jump to the search box use + S -# (what the is depends on the OS and browser, but it is typically -# , /