From fb7c65dc34b3001617635e6afd10480f2770522d Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sat, 24 Aug 2019 16:38:21 +1000 Subject: [PATCH 01/77] 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 56184f44deb..95286ff46cc 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 00000000000..ccee7008eba --- /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 3fe358edaf2..f11cb76aa2b 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 02/77] 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 | 31 ++----------- tmk_core/avr.mk | 15 +++++++ 6 files changed, 155 insertions(+), 29 deletions(-) create mode 100644 docs/flashing_bootloadhid.md diff --git a/docs/flashing.md b/docs/flashing.md index d11dbdf15b5..b47a5ebf8e1 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 00000000000..c51d8ce4b8f --- /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 4fe3f184df4..71e9d33f25f 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 c8a30dba05b..3bf582d7f63 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 1449b278cdf..9d3ca0006fb 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 +Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](flashing_bootloadhid.md)) -ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods. + make %KEYBOARD%:default:flash -**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. +**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 e5443418b94..bdda14a0703 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 03/77] [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 | 124 +++++++++++++++++++++++------- users/kuchosauronad0/rules.mk | 3 + users/kuchosauronad0/tap_dances.c | 6 +- 9 files changed, 252 insertions(+), 87 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 00000000000..b4e8e84ae51 --- /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 00000000000..e2ff09ab5a0 --- /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 f543a4fd257..b2c63c1e0c8 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 1b9b2cb12f7..06b7b51233b 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 078989d52d6..2610c9677aa 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 611b70074c7..58935abb3c4 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 8211dc189af..b577eedb702 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 :) +# 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](#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 -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. +## [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}* -## Leader Key -Set `LEADER_ENABLE = yes` in rules.mk. -TODO: document tmux / vim / os +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 | + +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 8610a9b7a1c..ad13083732a 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 4ebb5dc7393..7bdd3d33759 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 04/77] [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 00000000000..bada95bea55 --- /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 00000000000..f99bff31373 --- /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 00000000000..49f1013d283 --- /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 00000000000..53644093d6c --- /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 05/77] [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 00000000000..f14aa4bb14b --- /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 00000000000..177ae41571c --- /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 00000000000..8a49c747a19 --- /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 00000000000..357a025f918 --- /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 00000000000..04f410057e5 --- /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 00000000000..8861a36b23d --- /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 00000000000..08cf10acaa6 --- /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 00000000000..396983bc0e3 --- /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 71672d05134..eb3b420ee69 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 17a589cd1d6..0da75e0be46 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 06/77] [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 00000000000..4d4825f9b64 --- /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 00000000000..0117b5e2ee1 --- /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 00000000000..4045d071092 --- /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 00000000000..d404bcc0bda --- /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 00000000000..612e5d7750d --- /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 07/77] 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 d5d8b01de5a..c9e3e0586ae 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 08/77] [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 00000000000..c948216af2e --- /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 00000000000..e75b1b02c2c --- /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 00000000000..d9638e3e84f --- /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 00000000000..1bd47ef9e1a --- /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 00000000000..f8f8ee4ff3c --- /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 00000000000..8e933c09d17 --- /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 00000000000..10fc8cd032e --- /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 00000000000..da9b2b7197d --- /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 09/77] 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 cde814812e5..7a489b22a70 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 b91235aaddd..b3e911ab41b 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 00000000000..d2f81fedc35 --- /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 00000000000..3215e3588a3 --- /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 00000000000..62841e7af18 --- /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 00000000000..18bfc46b814 --- /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 00000000000..6edfa599305 --- /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 00000000000..db039935445 --- /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 10ec79300ac..ab49db03c43 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 00e4bb0ea10..e81ee886efe 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 10/77] [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 00000000000..4da601257a8 --- /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 00000000000..fb876443b38 --- /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 00000000000..437370bb731 --- /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 00000000000..498076d4ea0 --- /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 00000000000..9f3233e0f15 --- /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 00000000000..075e3f64b41 --- /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 11/77] 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 00000000000..3436941b1cd --- /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 00000000000..bb1b59e63e0 --- /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 12/77] 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 22fb3776294..7bc8192ed3a 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 5f5872beccf..426b76b3b19 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 4c045ac0a57..f9bb64e05f2 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 d7ca73ac58f..4a27701076f 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 b260195cec0..19996f9208a 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 13/77] 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 dfd31e20068..d4b584b10e7 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 0365f2c9c80..1843f42cd1e 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 00000000000..7e14ad8fbf4 --- /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 e69de29bb2d..00000000000 diff --git a/lib/python/qmk/cli/compile/json.py b/lib/python/qmk/cli/compile/json.py deleted file mode 100755 index 89c16b20631..00000000000 --- 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 14/77] 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 9d19beedb2b..623f1816ac1 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 2b3dd7ff2fc..3dad72addb5 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 03dda2e64a5..4f6254c98ce 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 fe23f87aecd..a8dd85663fa 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 1e9a94ce266..52f03c300fb 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 e0f90ea110d..2c5d145f1bb 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 89bdfb60d35..d4b7084186a 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 245d4955fbe..9c0274823bd 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 c3834ff5f0b..8f8365ea7e6 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 5f5d9a1ebfd..00000000000 --- 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 7e2a0b74db9..00000000000 --- 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 9bc83b7de75..32df8df0c64 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 15/77] [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 9cfc1734ebf..37af03b3eea 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 16/77] 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 6308d06d0df..fdeb4f9857a 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 17/77] 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 bdda14a0703..775f2a996dc 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 18/77] 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 e81ee886efe..58b8f09e11c 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 19/77] [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 ef8eeb2e140..56c80878f4e 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 37af03b3eea..91fc7afa978 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 20/77] 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 00000000000..d4f7196d862 --- /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 00000000000..36b3022caac --- /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 21/77] 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 0d5c6a82fc4..a5fc801a3bd 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 22/77] =?UTF-8?q?Make=20the=20CLI=20=CE=A8=20capital=20(#6?= =?UTF-8?q?637)?= 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 d4b584b10e7..3c00a675eb1 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 23/77] 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 b08c675e4e8..2030178344c 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 24/77] 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 | 1399 ++++++++++++++-------------- tmk_core/protocol/usb_descriptor.h | 337 +++---- 3 files changed, 872 insertions(+), 868 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 00000000000..e4ea171d7a5 --- /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 589ad23cdd5..fb280f94730 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) + 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. + 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. + 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_USAGE_PAGE(8, 0x08), /* LEDs */ - 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), - 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_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_END_COLLECTION(0), + // 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_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}, +#ifndef USB_MAX_POWER_CONSUMPTION + #define USB_MAX_POWER_CONSUMPTION 500 +#endif - .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) +/* + * 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 }, + .InterfaceNumber = KEYBOARD_INTERFACE, + .AlternateSetting = 0x00, + .TotalEndpoints = 1, + .Class = HID_CSCP_HIDClass, + .SubClass = HID_CSCP_BootSubclass, + .Protocol = HID_CSCP_KeyboardBootProtocol, - .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) + .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 + }, + .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) + }, + .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 - .InterfaceStrIndex = NO_DESCRIPTOR +#ifdef RAW_ENABLE + /* + * Raw HID + */ + .Raw_Interface = { + .Header = { + .Size = sizeof(USB_Descriptor_Interface_t), + .Type = DTYPE_Interface }, - - .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) + .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 }, - - .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 + .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); +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; - const void* Address = NULL; - uint16_t Size = NO_DESCRIPTOR; - - switch (DescriptorType) - { + 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 3ca0c00b34f..d419568034a 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) + 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. + 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. + 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 -#ifndef KEYBOARD_SHARED_EP +/* + * USB descriptor structure + */ +typedef struct { + USB_Descriptor_Configuration_Header_t Config; + + #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 + 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 + #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 -#if defined(RAW_ENABLE) + #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 + #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 + #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 25/77] 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 00000000000..9141ac2507b --- /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 b001139dd40..63b917d8fc6 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 d1a0f4f2277..cc359efcdda 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 26/77] 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 d21cd3c1c9f..5f29cad941b 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 f7e3044249d..d9ec50a7e29 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 bed176da66d..ac9a6c7694e 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 04021ae7c25..f20e30cdb3b 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 27/77] 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 00000000000..c01b2cb1e3a --- /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 2e69165f24a..5bc00aa824a 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 f0ff56467da..9ecbbc6df3b 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 e890e7f5281..e25f4f089d0 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 72bb886534d..c7dcb67653c 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 f76b7e02c81..d9a81b195af 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 7db7e5d39ee..aad2d643cd9 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 c6a9214a013..3ac0047a319 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 eff94ff6574..4a1ad54b41b 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 649cbec3895..2f3f10f5c73 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 6c2c00ec279..f2802827a19 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 5f3881539a4..dae85ad9ca5 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 4590374e9b3..91cc760c6a9 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 c0c1760cd16..ba12e1bf53b 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 43994f189f7..b85e4758243 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 aa75a67715e..f22bb1f622a 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 40f808654e0..23dc2d4150f 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 966c60d20db..d5e17d7f9c2 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 3054d7974bc..ae47b9ba3d2 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 d8a46aa833d..bb0abaab7c1 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 365649ed871..3cd8731b060 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 023e1a12011..ff17fa23662 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 f113d0e036c..eee50901399 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 25a5e1579da..d45f87a5d23 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 491cd1d07d5..96393bc35d3 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 a93b1f47d13..a80d677c64d 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 3ebd82af4f5..cdebcd1433c 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 d4ec987abdd..5a85a6086ce 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 4237949d543..14db7feaa06 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 b8251c8573d..efd188a8ee8 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 196b2d77732..fe0dfa619cd 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 f0be4b03067..7cc5e7f0ac8 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 51d45be75b9..829c047be6f 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 f721716fde8..9e6e953e312 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 27a669e6407..10a112986e2 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 2191758c8c4..69ce9b8e09f 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 8058c2e1091..fa948077cec 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 64d0b740393..5be56e72569 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 22326ebe45b..5bf06382d78 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 7304c80c105..f7a66b96f58 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 76398697c2a..077f1c6277b 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 b572b4484b2..1ccefb6dd1c 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 4d84396e319..4b7208a9e20 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 61685b477a1..3b38ed501b8 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 7a0de8559d4..371c2b8ef6e 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 a5daed006ab..37bd742b592 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 1e6149899fb..a2540675828 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 76fb72f8e3e..f6987fe1aaf 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 84de7872f4e..8d6e4da77ca 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 87dbad159a5..f272d6fd18c 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 35b60ae810e..52f7086f210 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 4ff00140aa0..88032a384bf 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 95d80ffb77c..d1ad6f1b645 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 719700d66cc..e23aef589e6 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 b34b4dfbcf6..6b4dfdc33f7 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 f95a4e9e780..005355cd20f 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 a0a69c476d5..9d7327ee69d 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 d42e611e9cc..4bf30398f5b 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 8f2d55d9be7..07fca874e4b 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 9a00f0a979b..021271c2e15 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 43bc74a0e1f..59040cd50c9 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 dcf2dc1d85b..729810705bd 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 28/77] 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 f20e30cdb3b..4737d693b8d 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 29/77] 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 0d8d534f84b..a029f9321fe 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 30/77] 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 6f9a577f7e3..af171c7e718 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 65ed6d289b4..115b70640e7 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 26e28479e8d..c6b7f6afd21 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 2d511fee3c7..3d67b2a73a6 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 15f0e05fb60..caa9a1899e7 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 86a1de767b1..27efc4759da 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 41beeb7e5fe..9b8885b70d2 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 b0eff652b87..53ae0f2343a 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 71ccba24148..5dd5c4d87dc 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 987f2c6afd5..d05dc6cc666 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 cc359efcdda..436e81a37a6 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 31/77] 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 53ae0f2343a..f558c6c4bea 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 32/77] 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 476184dc68f..206041097d7 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 33/77] 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 00000000000..233e10e0916 --- /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 c8198ab3359..a374ffb5e6c 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 dce9dd96dee..3feeb97cfbc 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 bbe4bb51afd..95207f5c46b 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 baf506b9744..e875af3ccac 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 d0aa3b279a3..a6872f99522 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 9019e9a8c04..ea4edeca7da 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 06c7ae309e6..95beab37674 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 ba46d405ea6..e76751c335b 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 7f92da08d55..430bdb850b5 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 d3aac3dcbf4..7248c1f5358 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 f86074b9c24..a0451b54357 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 9eaba22099f..7cf40fa9a01 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 8299eb70110..bc6a8557e8c 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 3449192802a..5b7fb7e66c2 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 5dbca3bfc5a..9d8284dbd2d 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 a6cc610529a..12e55b75f1b 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 62af6b2ab11..3c57f7fc934 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 212d9138df0..d4e8f11087d 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 f99ec5fb667..7886e307fd8 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 9bc504207fb..091d7fb9aff 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 55fe30e89b6..6239876bb13 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 28b393a3d8f..2fc53440113 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 d29f4b76318..917790124f7 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 8facc6e9256..28f45bc3c21 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 fb3d3896bf4..4936ab42c33 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 6388586de84..3f52528f8b0 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 98fafe8ce62..5e49dca2521 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 29505b641e5..85455fa9d9f 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 384d7d0945f..2c90c02a6b6 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 45fc9f8ba99..080d3f6cef0 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 28b393a3d8f..2fc53440113 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 064c01c5511..2aa74c4195b 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 156fd2f1987..6a66b1d3fdd 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 882f2b3c0d5..b288bd55772 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 07d95844926..47f5ba96ba2 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 7c44f78a656..cc6fc52e5aa 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 36ef4394dd8..a1d041c022f 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 0ec7b352c15..daba6c3000c 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 dc80e7a34e0..3516f20303f 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 b00805e9e79..3ce6afce211 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 b00805e9e79..3ce6afce211 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 61ad04ef744..1eb12669ace 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 96e4a17ee61..e0f74804f7d 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 89b7e6b84ad..de679a3fc0b 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 2a9b66c42d8..6f8f8579c19 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 d85bd6e8821..bdde285690c 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 0c97954494c..6f7167cbbe8 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 e4f1ec901a6..d84b68f0ef6 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 8a0e47026ed..59ae2681f3f 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 c1b47312fef..8b73424d453 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 5f4f85cd431..64e7c94433c 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 8dfb95a337c..c6d4f628ff2 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 5e74c912629..acae77d5fcf 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 0c70dbb5d07..d1fcea9c912 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 7330eda1404..83c77e4a343 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 11967703730..189ff5c43d4 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 4287496479b..f47f881425d 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 c0c2134774e..7377128ecc0 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 b161358c14a..4d8483f5447 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 83cee0d06f5..98e288516b9 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 9b8885b70d2..bb27f18e809 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 f558c6c4bea..4ca20bd48c7 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 8f4c010afe3..c34d9f65b00 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 7e1e5bf82b7..20651df0fbb 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 e0cdf25c6e7..373a1e0440a 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 9198bf6e30f..d1e48e11025 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 c59f16a00cf..3f476ad2a0d 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 a379b24ca38..83ead2eb247 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 8d80e349ba8..62858f8dd09 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 08ea16d4bbe..4737ab710d4 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 37524dfa086..84b573aca29 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 cfd5b195e28..a673d0bd8aa 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 c64c92c9c84..62c2ec7b53c 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 afadf13ff60..63fea6e1c16 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 10b7df642be..cb61ce59cb8 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 b1876d6a8ed..dba9bf32bec 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 5b731a1c006..21e383bd266 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 31a987b356a..b9be7e2b897 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 9f19ab24c41..0ab60ffbb89 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 5f4ed3c19de..f2aa255a4c2 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 5add317e16b..313e597d7b7 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 7ec4f7b8382..73e0694ba00 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 5dd5c4d87dc..1b16c31d4d1 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 d05dc6cc666..454dcc35cc1 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 b32fa4c2a42..8ba9582934b 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 4dbf8be585f..9141cd1c74a 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 1259a18ff26..3f828003772 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 4f174a69de7..469c2194407 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 a6097d9a3e0..e36d71432d1 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 0cc98ca77b8..dac153f070c 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 1229469d717..7058d934476 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 eeeded47fcf..3131c30640b 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 f64808c4d27..93a435efb10 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 bb16da4d500..6fe9807988a 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 34/77] 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 00000000000..43fb9e031dd --- /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 91cc760c6a9..1c0e780724d 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 63563d6aaab..95f96066d37 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 a70e1017e26..f7aa36dabb6 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 af758ae16ad..fe5a9c4a875 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 5bf06382d78..054297b6362 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 35/77] 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 00000000000..24dadc1f27c --- /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 00000000000..19490deb99d --- /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 00000000000..bf74ceb17f4 --- /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 00000000000..a925c6fb1cf --- /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 00000000000..dc6f1962373 --- /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 263ec873238..33bb5f35ad9 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 8e868ecc0e6..889a162a2d1 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 b1559a29d8e..d1820144336 100644 --- a/keyboards/atreus/config.h +++ b/keyboards/atreus/config.h @@ -1,22 +1,20 @@ -/* -Copyright 2012 Jun Wako +/* 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 . + */ -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 e998e5edc3d..271f48d0011 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 12a221d7f56..ac5db196d96 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 4a7ade96ad8..aa1d8445c61 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 5cd797da96f..0dbd098ca70 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 eda77404a02..403b0b0ca2e 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 00000000000..4130ef9bb71 --- /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 00000000000..3fb7c7e5a7e --- /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 00000000000..19490deb99d --- /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 00000000000..bf74ceb17f4 --- /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 36/77] 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 00000000000..62e71eee9e8 --- /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 92dfc3c6177..00000000000 --- 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 1cd1dccf80b..00000000000 --- 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 2be15680822..00000000000 --- 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 5169bbc3c4b..00000000000 --- 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 2c60f84e8dc..00000000000 --- 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 aa17bc15bdf..00000000000 --- 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 b6543aa7382..00000000000 --- 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 f8c349cdedb..00000000000 --- 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 22972b72fe1..00000000000 --- 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 5aa0e765bfc..00000000000 --- 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 62765703730..00000000000 --- 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 a6fbf5262b7..00000000000 --- 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 61624c7318f..00000000000 --- 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 02e7063c66c..00000000000 --- 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 414693479fa..00000000000 --- 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 -# , /