2
0
Просмотр исходного кода

Merge remote-tracking branch 'upstream/master'

Xyverz 9 лет назад
Родитель
Сommit
02f4e5b064
44 измененных файлов с 2762 добавлено и 2447 удалено
  1. 93 0
      .gitattributes
  2. 10 0
      keyboards/ergodox/keymaps/jafo/jafo-Notes
  3. BIN
      keyboards/ergodox/keymaps/jafo/jafo-layout.pdf
  4. BIN
      keyboards/ergodox/keymaps/jafo/jafo_highres.png
  5. 183 0
      keyboards/ergodox/keymaps/jafo/keymap.c
  6. 20 0
      keyboards/ergodox/keymaps/jafo/readme.md
  7. 161 186
      keyboards/ergodox/keymaps/ordinary/keymap.c
  8. BIN
      keyboards/ergodox/keymaps/ordinary/ordinary-base.png
  9. 8 8
      keyboards/ergodox/keymaps/ordinary/ordinary-base.txt
  10. BIN
      keyboards/ergodox/keymaps/ordinary/ordinary-media.png
  11. 18 18
      keyboards/ergodox/keymaps/ordinary/ordinary-media.txt
  12. BIN
      keyboards/ergodox/keymaps/ordinary/ordinary-special.png
  13. 11 11
      keyboards/ergodox/keymaps/ordinary/ordinary-special.txt
  14. BIN
      keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
  15. 10 10
      keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt
  16. 29 42
      keyboards/ergodox/keymaps/ordinary/readme.md
  17. 1 1
      keyboards/tv44/keymaps/default/keymap.c
  18. 49 2
      readme.md
  19. 1 1
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt
  20. 1 1
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/placeholder.txt
  21. 45 45
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt
  22. 53 53
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css
  23. 13 13
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/[Content_Types].xml
  24. 18 18
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/asf-manifest.xml
  25. 33 33
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
  26. 38 38
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/generate_caches.py
  27. 96 96
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa.xml
  28. 34 34
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_common.xml
  29. 114 114
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board.xml
  30. 853 853
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board_names.xml
  31. 56 56
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_misc.xml
  32. 198 198
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_peripheral.xml
  33. 31 31
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb.xml
  34. 32 32
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_class.xml
  35. 85 85
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core.xml
  36. 43 43
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml
  37. 42 42
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml
  38. 36 36
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml
  39. 60 60
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform.xml
  40. 26 26
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_uc3.xml
  41. 23 23
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_xmega.xml
  42. 43 43
      tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_toolchain.xml
  43. 93 93
      tmk_core/protocol/midi/Config/LUFAConfig.h
  44. 102 102
      tmk_core/tool/chibios/ch-bootloader-jump.patch

+ 93 - 0
.gitattributes

@@ -0,0 +1,93 @@
+# 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

+ 10 - 0
keyboards/ergodox/keymaps/jafo/jafo-Notes

@@ -0,0 +1,10 @@
+These are notes on how to build and deploy the firmware to Ez, but they are
+from before the qmk restructuring.
+
+cd qmk_firmware/keyboard/ergodox_ez
+make KEYMAP=jafo
+cp ergodox_ez.hex keymaps/jafo/
+/tmp/teensy.64bit
+Open hex keymap file
+Program
+Upload

BIN
keyboards/ergodox/keymaps/jafo/jafo-layout.pdf


BIN
keyboards/ergodox/keymaps/jafo/jafo_highres.png


+ 183 - 0
keyboards/ergodox/keymaps/jafo/keymap.c

@@ -0,0 +1,183 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * | Grv    |   1  |   2  |   3  |   4  |   5  | LEFT |           | RIGHT|   6  |   7  |   8  |   9  |   0  |   -    |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |   =    |   Q  |   W  |   E  |   R  |   T  |  L1  |           |  L1  |   Y  |   U  |   I  |   O  |   P  |   \    |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * | Esc/Cmd|   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |; / L2|' / Cmd |
+ * |--------+------+------+------+------+------|  L2  |           |  L2  |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |Grv/L1|  '"  | Del  | Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |Ctrl/Esc| Alt|       | Alt  |Ctrl/Esc|
+ *                                 ,------|------|------|       |------+--------+------.
+ *                                 |      |      | Home |       | PgUp |        |      |
+ *                                 | Space|Backsp|------|       |------|  Tab   |Enter |
+ *                                 |      |ace   | End  |       | PgDn |        |      |
+ *                                 `--------------------'       `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP(  // layer 0 : default
+        // left hand
+        KC_GRV,         KC_1,         KC_2,   KC_3,   KC_4,   KC_5,   KC_LEFT,
+        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,
+                                              CTL_T(KC_ESC),  KC_LALT,
+                                                              KC_HOME,
+                                               KC_SPC,KC_BSPC,KC_END,
+        // right hand
+             KC_RGHT,     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),
+             TG(MDIA),    KC_N,   KC_M,   KC_COMM,KC_DOT, CTL_T(KC_SLSH),   KC_RSFT,
+                                  KC_UP,  KC_DOWN,KC_LBRC,KC_RBRC,          KC_FN1,
+             KC_LALT,        CTL_T(KC_ESC),
+             KC_PGUP,
+             KC_PGDN,KC_TAB, KC_ENT
+    ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   #  |   $  |   (  |   )  |   `  |------|           |------| Down |   4  |   5  |   6  |   +  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   \  |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |      |    . |   0  |   =  |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+       // left hand
+       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
+       KC_TRNS,KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+       KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+       KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+       KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+                                       KC_TRNS,KC_TRNS,
+                                               KC_TRNS,
+                               KC_TRNS,KC_TRNS,KC_TRNS,
+       // right hand
+       KC_TRNS, KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
+       KC_TRNS, KC_UP,   KC_7,   KC_8,    KC_9,    KC_ASTR, KC_F12,
+                KC_DOWN, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS,
+       KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_BSLS, KC_TRNS,
+                         KC_TRNS,KC_DOT,  KC_0,    KC_EQL,  KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |MsLeft|MsDown|MsRght|      |------|           |------| LEFT | DOWN |  UP  | RIGHT|      |  Play  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      |      | Prev | Next |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      | Lclk | Mclk | Rclk |                                       |VolUp |VolDn | Mute |      |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |Brwser|
+ *                                 |      |      |------|       |------|      |Back  |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN3, KC_BTN2,
+                                           KC_TRNS, KC_TRNS,
+                                                    KC_TRNS,
+                                  KC_TRNS, KC_TRNS, KC_TRNS,
+    // right hand
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                 KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_TRNS, KC_MPLY,
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+                          KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+  // MACRODOWN only works in this function
+      switch(id) {
+        case 0:
+        if (record->event.pressed) {
+          SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+        }
+        break;
+      }
+    return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+      // TODO: Make this relevant to the ErgoDox EZ.
+        case 1:
+            ergodox_right_led_1_on();
+            break;
+        case 2:
+            ergodox_right_led_2_on();
+            break;
+        default:
+            // none
+            break;
+    }
+
+};

+ 20 - 0
keyboards/ergodox/keymaps/jafo/readme.md

@@ -0,0 +1,20 @@
+# ErgoDox EZ "jafo" Configuration
+
+This is a layout based on the ErgoDox Ez default layout, but with some
+customizations I made for my use-case.  I use Linux, vi and the i3 window
+manager, so I made these changes:
+
+- Arrow keys laid out in vi positions in media layer.
+
+- Esc (tap) and Win (held) to the left of A.  i3 uses Win key for navigation
+  and having that be symmetric on the left and right makes it easier.
+
+- Grave accent below equals, I was having a hard time using ~
+
+- Layer 2 switch below the L1 switch, so I can go into a mode where I get
+  arrow keys under my vi motion fingers.
+
+- Making the Ctrl (held) and Esc (tap) on my thumbs symmetric.  Not sure I
+  need that with the Esc left of A and Ctrl on the Z and / keys when held...
+
+![Jafo](jafo_highres.png)

+ 161 - 186
keyboards/ergodox/keymaps/ordinary/keymap.c

@@ -3,21 +3,18 @@
 #include "debug.h"
 #include "action_layer.h"
 #include "action_util.h"
-#include "mousekey.h"
 
 #define BASE   0 // default layer
 #define SYMB   1 // symbols layer
 #define MDIA   2 // media layer
 #define SPEC   3 // special layer
 
-#define LCaps 10 // left caps-shift key
-#define LSymb 11 // left symbol-shift key
-#define LMdia 12 // left media-shift key
-#define LSpec 13 // left special-shift key
-#define RCaps 14 // right caps-shift key
-#define RSymb 15 // right symbol-shift key
-#define RMdia 16 // right media-shift key
-#define RSpec 17 // right special-shift key
+#define LSymb 10 // left symbol-shift key
+#define LMdia 11 // left media-shift key
+#define LSpec 12 // left special-shift key
+#define RSymb 13 // right symbol-shift key
+#define RMdia 14 // right media-shift key
+#define RSpec 15 // right special-shift key
 
 #define MUL   20 // mouse up left
 #define MUR   21 // mouse up right
@@ -25,123 +22,124 @@
 #define MDR   23 // mouse down right
 
 /*
- * The Ordinary Layout for the Ergodox EZ keyboard, v4
- * 
+ * The Ordinary Layout for the Ergodox EZ keyboard, v4.20
+ *
  * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
  *
  * No rights reserved. This software is in the public domain.
  * Credit me if you are friendly but if you're a jerk don't bother.
- * 
+ * If you use or modify this layout I would love to hear from you.
+ *
  * Details: readme.md
- *          https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary
+ *          https://github.com/nrrkeene/qmk_firmware/tree/master/keyboards/ergodox/keymaps/ordinary
  */
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-/******* Base Layer ********************************************************************************************************
+/******* Base Layer ****************************************************************************************************
  *
- * ,------------------------------------------------------.           ,------------------------------------------------------.
- * | Special `~ |   1  |   2  |   3  |   4  |   5  | ESC  |           |  -   |   6  |   7  |   8  |   9  |   0  | =+ Special |
- * |------------+------+------+------+------+-------------|           |------+------+------+------+------+------+------------|
- * | Media  Tab |   Q  |   W  |   E  |   R  |   T  |   [  |           |  ]   |   Y  |   U  |   I  |   O  |   P  | \|   Media |
- * |------------+------+------+------+------+------|      |           |      |------+------+------+------+------+------------|
- * | Symbol     |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |  ;   | '"  Symbol |
- * |------------+------+------+------+------+------|Shift |           | Tab  |------+------+------+------+------+------------|
- * | Capitals   |   Z  |   X  |   C  |   V  |   B  | -Tab |           |      |   N  |   M  |   ,  |   .  |  /   |   Capitals |
- * `------------+------+------+------+------+-------------'           `-------------+------+------+------+------+------------'
- *      | LCtrl | Meh  |Hyper | LAlt | LGui |                                       | RGui | RAlt | Hyper|  Meh | RCtrl |
- *      `-----------------------------------'                                       `-----------------------------------'
- *                                          ,-------------.           ,-------------.
- *                                          | Home | End  |           | Left | Right|
- *                                   ,------|------|------|           |------+------+------.
- *                                   |      |      | PgUp |           |  Up  |      |      |
- *                                   |Backsp| Del  |------|           |------| Enter| Space|
- *                                   |      |      | PgDn |           | Down |      |      |
- *                                   `--------------------'           `--------------------'
+ * ,------------------------------------------------------.       ,------------------------------------------------------.
+ * | Special `~ |   1  |   2  |   3  |   4  |   5  | ESC  |       |  -   |   6  |   7  |   8  |   9  |   0  | =+ Special |
+ * |------------+------+------+------+------+-------------|       |------+------+------+------+------+------+------------|
+ * | Media  Tab |   Q  |   W  |   E  |   R  |   T  |   [  |       |  ]   |   Y  |   U  |   I  |   O  |   P  | \|   Media |
+ * |------------+------+------+------+------+------|      |       |      |------+------+------+------+------+------------|
+ * | Symbol     |   A  |   S  |   D  |   F  |   G  |------|       |------|   H  |   J  |   K  |   L  |  ;   | '"  Symbol |
+ * |------------+------+------+------+------+------|Shift |       | Tab  |------+------+------+------+------+------------|
+ * | Capitals   |   Z  |   X  |   C  |   V  |   B  | -Tab |       |      |   N  |   M  |   ,  |   .  |  /   |   Capitals |
+ * `------------+------+------+------+------+-------------'       `-------------+------+------+------+------+------------'
+ *      | LCtrl | Meh  |Hyper | LAlt | LGui |                                   | RGui | RAlt | Hyper|  Meh | RCtrl |
+ *      `-----------------------------------'                                   `-----------------------------------'
+ *                                          ,-------------.       ,-------------.
+ *                                          | Home | End  |       | Left | Right|
+ *                                   ,------|------|------|       |------+------+------.
+ *                                   |      |      | PgUp |       |  Up  |      |      |
+ *                                   |Backsp| Del  |------|       |------| Enter| Space|
+ *                                   |      |      | PgDn |       | Down |      |      |
+ *                                   `--------------------'       `--------------------'
  */
 [BASE] = KEYMAP(
 // left hand
- F(LSpec),KC_1,KC_2,KC_3   ,KC_4  ,KC_5  ,KC_ESC
+ F(LSpec)  ,KC_1   ,KC_2   ,KC_3   ,KC_4  ,KC_5  ,KC_ESC
 ,F(LMdia)  ,KC_Q   ,KC_W   ,KC_E   ,KC_R  ,KC_T  ,KC_LBRC
 ,M(LSymb)  ,KC_A   ,KC_S   ,KC_D   ,KC_F  ,KC_G
-,M(LCaps)  ,KC_Z   ,KC_X   ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
+,KC_LSFT   ,KC_Z   ,KC_X   ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
 ,KC_LCTL   ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI
                                          ,KC_HOME,KC_END
                                                  ,KC_PGUP
                                  ,KC_BSPC,KC_DEL ,KC_PGDN
-                                                                      // right hand
-                                                                     ,KC_MINS ,KC_6   ,KC_7   ,KC_8   ,KC_9    ,KC_0     ,F(RSpec)
-                                                                     ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O    ,KC_P     ,F(RMdia)
-                                                                              ,KC_H   ,KC_J   ,KC_K   ,KC_L    ,KC_SCLN  ,F(RSymb)
-                                                                     ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT  ,KC_SLSH  ,M(RCaps)
-                                                                                      ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH   ,KC_RCTL
-                                                                     ,KC_LEFT ,KC_RGHT
-                                                                     ,KC_UP
-                                                                     ,KC_DOWN ,KC_ENT ,KC_SPC
+                                                                  // right hand
+                                                                 ,KC_MINS ,KC_6   ,KC_7   ,KC_8   ,KC_9    ,KC_0     ,F(RSpec)
+                                                                 ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O    ,KC_P     ,F(RMdia)
+                                                                          ,KC_H   ,KC_J   ,KC_K   ,KC_L    ,KC_SCLN  ,F(RSymb)
+                                                                 ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT  ,KC_SLSH  ,KC_RSFT
+                                                                                  ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH   ,KC_RCTL
+                                                                 ,KC_LEFT ,KC_RGHT
+                                                                 ,KC_UP
+                                                                 ,KC_DOWN ,KC_ENT ,KC_SPC
     ),
 
-/******* Symbols Layer *****************************************************************************************************
+/******* Symbols Layer *************************************************************************************************
  *
- * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * |           |  F1  |  F2  |  F3  |  F4  |  F5  | Esc  |           |  -   |  F6  |  F7  |  F8  |  F9  |  F10 |           |
- * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * |           |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  |           |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * |           |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |           |
- * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
- * |           |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |           |
- * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
- *     | LCtrl | Meh  |Hyper | LAlt | LGui |                                       |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent|
- *     `-----------------------------------'                                       `-------------------------------------'
- *                                         ,-------------.           ,-------------.
- *                                         | Left | Right|           | Home | End  |
- *                                  ,------|------|------|           |------+------+------.
- *                                  |      |      |  Up  |           | PgUp |      |      |
- *                                  |Space |Enter |------|           |------|BackSp| Del  |
- *                                  |      |      | Down |           | PgDn |      |      |
- *                                  `--------------------'           `--------------------'
+ * ,-----------------------------------------------------.       ,-----------------------------------------------------.
+ * |           |  F1  |  F2  |  F3  |  F4  |  F5  | Esc  |       |  -   |  F6  |  F7  |  F8  |  F9  |  F10 |           |
+ * |-----------+------+------+------+------+-------------|       |------+------+------+------+------+------+-----------|
+ * |           |   !  |   @  |   {  |   }  |   &  |  <   |       |  >   |   |  |   7  |   8  |   9  |   /  |           |
+ * |-----------+------+------+------+------+------|      |       |      |------+------+------+------+------+-----------|
+ * |           |   #  |   $  |   (  |   )  |   `  |------|       |------|   /  |   4  |   5  |   6  |   *  |           |
+ * |-----------+------+------+------+------+------| Tab  |       | Shift|------+------+------+------+------+-----------|
+ * |           |   %  |   ^  |   [  |   ]  |   ~  |      |       |  -Tab|   \  |   1  |   2  |   3  |   -  |           |
+ * `-----------+------+------+------+------+-------------'       `-------------+------+------+------+------+-----------'
+ *     | LCtrl | Meh  |Hyper | LAlt | LGui |                                   |   0  |   .  |   =  |   +  |  Ent  |
+ *     `-----------------------------------'                                   `-----------------------------------'
+ *                                         ,-------------.       ,-------------.
+ *                                         | Left | Right|       | Home | End  |
+ *                                  ,------|------|------|       |------+------+------.
+ *                                  |      |      |  Up  |       | PgUp |      |      |
+ *                                  |Space |Enter |------|       |------|BackSp| Del  |
+ *                                  |      |      | Down |       | PgDn |      |      |
+ *                                  `--------------------'       `--------------------'
  */
 [SYMB] = KEYMAP(
 // left hand
  KC_TRNS ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_ESC
 ,KC_TRNS ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
-,KC_TRNS ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV 
+,KC_TRNS ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV
 ,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
-,KC_LCTL   ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI
+,KC_LCTL ,KC_MEH  ,KC_HYPR ,KC_LALT ,KC_LGUI
                                              ,KC_LEFT ,KC_RGHT
                                                       ,KC_UP
                                     ,KC_SPC  ,KC_ENT  ,KC_DOWN
-                                                                     // right hand
-                                                                     ,KC_MINS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_TRNS
-                                                                     ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,KC_TRNS
-                                                                                  ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,KC_TRNS
-                                                                     ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_TRNS
-                                                                                           ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
-                                                                     ,KC_HOME     ,KC_END
-                                                                     ,KC_PGUP
-                                                                     ,KC_PGDN     ,KC_BSPC ,KC_DEL
+                                                                 // right hand
+                                                                 ,KC_MINS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_TRNS
+                                                                 ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,KC_TRNS
+                                                                              ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,KC_TRNS
+                                                                 ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_TRNS
+                                                                                       ,KC_0  ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
+                                                                 ,KC_HOME     ,KC_END
+                                                                 ,KC_PGUP
+                                                                 ,KC_PGDN     ,KC_BSPC ,KC_DEL
 ),
 
 /******* Media Layer *******************************************************************************************************
  *
- * ,---------------------------------------------------------------.           ,---------------------------------------------------------------.
- * |      |   F11   |   F12   |   F13   |   F14   |   F15   | Esc  |           |      |   F16   |   F17   |   F18   |   F19   |   F20   |      |
- * |------+---------+---------+---------+---------+----------------|           |------+---------+---------+---------+---------+---------+------|
- * |      |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll|           |Scroll|PrintScrn|   Home  |    Up   |   PgUp  |   Mail  |      |
- * |------+---------+---------+---------+---------+---------|  Up  |           |  Up  |---------+---------+---------+---------+---------+------|
- * |      |  Sleep  |MouseLeft|MouseDown|MouseRght|Volume Dn|------|           |------| Num Lock|   Left  |   Down  |   Right | MyComp  |      |
- * |------+---------+---------+---------+---------+---------|Scroll|           |Scroll|---------+---------+---------+---------+---------+------|
- * |      |         |MouseDnLf|MouseDown|MouseDnRg|  Mute   | Down |           | Down |         |   End   |   Down  |   PgDn  |         |      |
- * `------+---------+---------+---------+---------+----------------'           `----------------+---------+---------+---------+---------+------'
- *  |LCtrl|   Meh   |  MClick | LClick  |  R Click|                                             |Cmd/Insrt|Optn/Del | Hyper   |  Meh    |RCtrl|
- *  `---------------------------------------------'                                             `---------------------------------------------'
- *                                                   ,-------------.           ,-------------.
- *                                                   | Stop |Refrsh|           | Prev | Next |
- *                                            ,------|------|------|           |------+------+------.
- *                                            |Brwser|Brwser|Search|           |VolUp |      |      |
- *                                            |Back  | Fwd  |------|           |------| Stop | Play-|
- *                                            |      |      | Home |           |VolDn |      | Pause|
- *                                            `--------------------'           `--------------------'
+ * ,---------------------------------------------------------------.    ,---------------------------------------------------------------.
+ * |      |   F11   |   F12   |   F13   |   F14   |   F15   | Esc  |    |      |   F16   |   F17   |   F18   |   F19   |   F20   |      |
+ * |------+---------+---------+---------+---------+----------------|    |------+---------+---------+---------+---------+---------+------|
+ * |      |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll|    |Scroll|PrintScrn|   Home  |    Up   |   PgUp  |   Mail  |      |
+ * |------+---------+---------+---------+---------+---------|  Up  |    |  Up  |---------+---------+---------+---------+---------+------|
+ * |      |  Sleep  |MouseLeft|MouseDown|MouseRght|Volume Dn|------|    |------| Num Lock|   Left  |   Down  |   Right | MyComp  |      |
+ * |------+---------+---------+---------+---------+---------|Scroll|    |Scroll|---------+---------+---------+---------+---------+------|
+ * |      |         |MouseDnLf|MouseDown|MouseDnRg|  Mute   | Down |    | Down |         |   End   |   Down  |   PgDn  |         |      |
+ * `------+---------+---------+---------+---------+----------------'    `----------------+---------+---------+---------+---------+------'
+ *  |LCtrl|   Meh   |  MClick | LClick  |  R Click|                                      |Cmd/Insrt|Optn/Del | Hyper   |  Meh    |RCtrl|
+ *  `---------------------------------------------'                                      `---------------------------------------------'
+ *                                                   ,-------------.    ,-------------.
+ *                                                   | Stop |Refrsh|    | Prev | Next |
+ *                                            ,------|------|------|    |------+------+------.
+ *                                            |Brwser|Brwser|Search|    |VolUp |      |      |
+ *                                            |Back  | Fwd  |------|    |------| Stop | Play-|
+ *                                            |      |      | Home |    |VolDn |      | Pause|
+ *                                            `--------------------'    `--------------------'
  */
 [MDIA] = KEYMAP(
 // left hand
@@ -166,67 +164,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /******* Special Layer *****************************************************************************************************
  *
- * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * |           |  Esc |      |      |      |      |      |           |      |      |      |      |      | Bspc |           |
- * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * |           |      |      |      |      |      |      |           |      |      |      |      |      |      |           |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * |           |      |      |      |      |      |------|           |------|      |      |      |      |      |           |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * |           |      |      |      |      |      |      |           |      |      |      |      |      |      | RShift    |
- * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
- *      |      |      |      |      |      |                                       |      |      |      |      |      |
- *      `----------------------------------'                                       `----------------------------------'
- *                                         ,-------------.           ,-------------.
- *                                         |      |      |           |      |      |
- *                                  ,------|------|------|           |------+------+------.
- *                                  |      |      |      |           |      |      |      |
- *                                  |      |      |------|           |------|      |      |
- *                                  |      |      |      |           |      |      |      |
- *                                  `--------------------'           `--------------------'
+ * ,-------------------------------------------------------.    ,-------------------------------------------------------.
+ * |             |  Esc |      |      |      |      |      |    |      |      |      |      |   -  | Bspc |             |
+ * |-------------+------+------+------+------+-------------|    |------+------+------+------+------+------+-------------|
+ * | Media Lock  |      |      |      |      |      |      |    |      |      |      |      |  [   |   ]  | Media Lock  |
+ * |-------------+------+------+------+------+------|      |    |      |------+------+------+------+------+-------------|
+ * | Symbol Lock |      |      |      |      |      |------|    |------|      |      |      |      |      | Symbol Lock |
+ * |-------------+------+------+------+------+------|      |    |      |------+------+------+------+------+-------------|
+ * | Caps Lock   |      |      |      |      |      |      |    |      |      |      |      |      |      | Caps Lock   |
+ * `-------------+------+------+------+------+-------------'    `-------------+------+------+------+------+-------------'
+ *      |        |      |      |      |      |                                |      |      |      |      |        |
+ *      `------------------------------------'                                `------------------------------------'
+ *                                         ,-------------.     ,-------------.
+ *                                         |      |      |     |      |      |
+ *                                  ,------|------|------|     |------+------+------.
+ *                                  |      |      |      |     |      |      |      |
+ *                                  |      |      |------|     |------|      |      |
+ *                                  |      |      |      |     |      |      |      |
+ *                                  `--------------------'     `--------------------'
  */
 [SPEC] = KEYMAP(
 // left hand
  KC_TRNS ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-
                                              ,KC_TRNS ,KC_TRNS
                                                       ,KC_TRNS
                                      ,KC_TRNS,KC_TRNS ,KC_TRNS
-                                                                     // right hand
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-                                                                              ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_RSFT
-                                                                                       ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-
-                                                                     ,KC_TRNS ,KC_TRNS
-                                                                     ,KC_TRNS
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS
+                                                             // right hand
+                                                             ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_MINS ,KC_BSPC ,KC_TRNS
+                                                             ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LBRC ,KC_RBRC ,KC_TRNS
+                                                                      ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+                                                             ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
+                                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+                                                             ,KC_TRNS ,KC_TRNS
+                                                             ,KC_TRNS
+                                                             ,KC_TRNS ,KC_TRNS ,KC_TRNS
     )
 };
 
 const uint16_t PROGMEM fn_actions[] = {
      // the faux shift keys are implemented as macro taps
-     [LCaps] = ACTION_MACRO_TAP(LCaps)
-    ,[LSymb] = ACTION_MACRO_TAP(LSymb)
+     [LSymb] = ACTION_MACRO_TAP(LSymb)
     ,[LMdia] = ACTION_MACRO_TAP(LMdia)
     ,[LSpec] = ACTION_MACRO_TAP(LSpec)
-    ,[RCaps] = ACTION_MACRO_TAP(RCaps)
     ,[RSymb] = ACTION_MACRO_TAP(RSymb)
     ,[RMdia] = ACTION_MACRO_TAP(RMdia)
     ,[RSpec] = ACTION_MACRO_TAP(RSpec)
 };
 
-uint16_t caps_shift = 0;
 uint16_t symb_shift = 0;
 uint16_t mdia_shift = 0;
+uint16_t spec_shift = 0;
 
-bool symb_lock = false;
 bool mdia_lock = false;
+bool symb_lock = false;
 
 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 {
@@ -237,50 +231,28 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         // only because sometimes rapid pressing led to irregular events; this way the states
         // are self healing during use.
 
-        case LCaps: // both caps-shift keys trigger Left Shift
-        case RCaps: // so they don't interfere with the magic combo
-        if (record->event.pressed && !record->tap.count) {
-            if(++caps_shift > 2) caps_shift = 2;
-            if(caps_shift == 2)  {
-                register_code(KC_CAPS);
-                unregister_code(KC_CAPS);
-            } else if(caps_shift == 1) {
-                register_code(KC_LSFT);
-            }
-        } else {
-            if(--caps_shift < 0) caps_shift = 0;
-            if(caps_shift == 0) unregister_code(KC_LSFT);
-        }
-        break;
-
-        case LSymb:
-        if (record->event.pressed) {
-            if(++symb_shift > 2) symb_shift = 2;
-            if(symb_shift == 2)  {
-                symb_lock = !symb_lock;
-            } else if(symb_shift == 1) {
-                layer_on(SYMB);
-            }
-        } else {
-            if(--symb_shift < 0) symb_shift = 0;
-            if((symb_shift == 0) && (!symb_lock)) layer_off(SYMB);
+        case LSymb:                                               //
+        if (record->event.pressed) {                              // when the LSymb button is pressed
+            if(++symb_shift > 2) mdia_shift = 2;                  // increment the symb shift count, max two
+            if(spec_shift) symb_lock = !symb_lock;                // if the Special layer is on, toggle the shift lock
+            layer_on(SYMB);                                       // in any case, turn on the Symbols layer
+        } else {                                                  // when the LSymb button is released
+            if(--symb_shift < 0) symb_shift = 0;                  // decrement the shift count, minimum zero
+            if((!symb_shift) && (!symb_lock)) layer_off(SYMB);    // if both shifts are released and the lock is off, turn off the Symbols layer
         }
         break;
 
         case LMdia:
         if (record->event.pressed) {
-            if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+           if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
                 register_code(KC_TAB);
             } else {
+                if(spec_shift) mdia_lock = !mdia_lock;
                 if(++mdia_shift > 2) mdia_shift = 2;
-                if(mdia_shift == 2)  {
-                    mdia_lock = !mdia_lock;
-                } else if(mdia_shift == 1) {
-                    layer_on(MDIA);
-                }
+                layer_on(MDIA);
             }
         } else {
-            if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+            if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
                 unregister_code(KC_TAB);
             } else {
                 if(--mdia_shift < 0) mdia_shift = 0;
@@ -290,35 +262,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         break;
 
         case LSpec:
-        if (record->event.pressed) {
-            if (record->tap.count && !record->tap.interrupted) {
-                register_code(KC_GRV);
+        if (record->event.pressed) {                                     // when the LSpec button is pressed
+            if(symb_shift) symb_lock == !symb_lock;                      // if another layer button is engaged, then
+            else if(mdia_shift) mdia_lock = !mdia_lock;                  // lock that layer, be it caps or symb or mdia
+            else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) {
+                register_code(KC_GRV);                                   // otherwise, if it's an uninterrupted tap, emit a char
             } else {
-                layer_on(SPEC);
+                if(++spec_shift > 2) spec_shift = 2;
+                layer_on(SPEC);                                          // otherwise, turn on the Special layer
             }
         } else {
-            if(record->tap.count && !record->tap.interrupted) {
+            if(record->tap.count && !record->tap.interrupted && (!spec_shift)) {
                 unregister_code(KC_GRV);
             } else {
-                layer_off(SPEC);
+                if(--spec_shift < 0) spec_shift = 0;
+                if(!spec_shift) layer_off(SPEC);
             }
         }
         break;
 
         case RSymb:
         if (record->event.pressed) {
-            if (record->tap.count && (!symb_shift) && (!symb_lock)) {
+            if (record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) {
                 register_code(KC_QUOT);
             } else {
                 if(++symb_shift > 2) symb_shift = 2;
-                if(symb_shift == 2)  {
-                    symb_lock = !symb_lock;
-                } else if(symb_shift == 1) {
-                    layer_on(SYMB);
-                }
+                if(spec_shift) symb_lock = !symb_lock;
+                layer_on(SYMB);
             }
         } else {
-            if(record->tap.count && symb_shift == 0) {
+            if(record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) {
                 unregister_code(KC_QUOT);
             } else {
                 if(--symb_shift < 0) symb_shift = 0;
@@ -329,18 +302,15 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
         case RMdia:
         if (record->event.pressed) {
-            if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+            if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
                 register_code(KC_BSLS);
             } else {
                 if(++mdia_shift > 2) mdia_shift = 2;
-                if(mdia_shift == 2)  {
-                    mdia_lock = !mdia_lock;
-                } else if(mdia_shift == 1) {
-                    layer_on(MDIA);
-                }
+                if(spec_shift) mdia_lock = !mdia_lock;
+                layer_on(MDIA);
             }
         } else {
-            if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+            if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
                 unregister_code(KC_BSLS);
             } else {
                 if(--mdia_shift < 0) mdia_shift = 0;
@@ -351,16 +321,20 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
         case RSpec:
         if (record->event.pressed) {
-            if (record->tap.count && !record->tap.interrupted) {
+            if(symb_shift) symb_lock = !symb_lock;
+            else if(mdia_shift) mdia_lock = !mdia_lock;
+            else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) {
                 register_code(KC_EQL);
             } else {
+                if(++spec_shift > 2) spec_shift = 2;
                 layer_on(SPEC);
             }
         } else {
-            if(record->tap.count && !record->tap.interrupted) {
+            if(record->tap.count && !record->tap.interrupted && (!spec_shift)) {
                 unregister_code(KC_EQL);
             } else {
-                layer_off(SPEC);
+                if(--spec_shift < 0) spec_shift = 0;
+                if(!spec_shift) layer_off(SPEC);
             }
         }
         break;
@@ -419,7 +393,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             // none
             break;
     }
-    
+
     return MACRO_NONE;
 };
 
@@ -431,7 +405,9 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
     // shift or caps lock turns on red light
-    if(caps_shift || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
+    if((keyboard_report->mods & MOD_BIT(KC_LSFT))
+    || (keyboard_report->mods & MOD_BIT(KC_RSFT))
+    || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
         ergodox_right_led_1_on();
     } else {
         ergodox_right_led_1_off();
@@ -451,4 +427,3 @@ void matrix_scan_user(void) {
         ergodox_right_led_3_off();
     }
 };
-

BIN
keyboards/ergodox/keymaps/ordinary/ordinary-base.png


+ 8 - 8
keyboards/ergodox/keymaps/ordinary/ordinary-base.txt

@@ -1,24 +1,24 @@
 [{x:3.5},"#\n3",{x:10.5},"*\n8"],
 [{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"],
 [{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"],
+[{y:-0.875,c:"#c6c600",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#c6c600",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"],
 [{y:-0.375,x:3.5,c:"#cccccc"},"E",{x:10.5},"I"],
 [{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"],
 [{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"],
+[{y:-0.875,c:"#c6c600",t:"#002299",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Q",{x:14.5},"P",{c:"#c6c600",t:"#002299",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000"},"D",{x:10.5},"K"],
 [{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"],
 [{y:-0.875,x:5.5},"G",{x:6.5},"H"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
-[{y:-0.625,x:6.5,c:"#54d6de",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
+[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"A",{x:14.5},":\n;",{c:"#c6c600",t:"#007d00",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
 [{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
 [{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
 [{y:-0.875,x:5.5},"B",{x:6.5},"N"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
+[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Z",{x:14.5},"?\n/",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
 [{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"],
 [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Home","End"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Home","End"],
 [{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"],
 [{x:2},"Page\n\n\n\n\n\nDown"],
 [{r:-30,rx:13,y:-1,x:-3},"Left","Right"],

BIN
keyboards/ergodox/keymaps/ordinary/ordinary-media.png


+ 18 - 18
keyboards/ergodox/keymaps/ordinary/ordinary-media.txt

@@ -1,27 +1,27 @@
 [{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"],
 [{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"],
 [{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#737373",a:7},"",{c:"#99de2a",a:4},"F16"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
-[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
-[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
-[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{y:-0.875,c:"#c6c600",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#c6c600",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#0066cc"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#1e8fff"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
+[{y:-0.875,x:5.5,c:"#9977ee"},"Vol\n\n\n\n\n\nUp",{c:"#1e8fff",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#9977ee"},"Print\n\n\n\n\n\nScreen"],
+[{y:-0.875,c:"#000000",t:"#3f68ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#9977ee",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#3f68ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
 [{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
-[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#e6e067"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#2277ff",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
-[{y:-0.625,x:6.5,c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
-[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
-[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#ffb063"},"End",{x:1},"Page\n\n\n\n\n\nDown"],
-[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#737373",a:7},""],
-[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#ff8500"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063",fa:[0,0,0,1]},"Delete\n\n\nOption"],
-[{y:-0.875,x:2.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"],
+[{y:-0.875,x:5.5,c:"#9977ee"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"],
+[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#9977ee",t:"#000000"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#c6c600",t:"#007d00",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#1e8fff",t:"#000000",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
+[{y:-0.75,x:3.5,c:"#0066cc"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#1e8fff"},"End",{x:1},"Page\n\n\n\n\n\nDown"],
+[{y:-0.875,x:5.5,c:"#9977ee"},"Mute",{x:6.5,c:"#737373",a:7},""],
+[{y:-0.875,c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#9e0000",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#1e8fff",fa:[0,0,0,1]},"Delete\n\n\nOption"],
+[{y:-0.875,x:2.5,c:"#0066cc"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#1e8fff"},"Insert\n\n\nCmd",{x:1,c:"#dddd77"},"Hyper"],
 [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ccbb00"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#6633ee"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
 [{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
 [{x:2},"Home\n\n\nBrowser"],
 [{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"],
-[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ccbb00",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
-[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nDown"]
+[{x:-3,c:"#9977ee"},"Vol\n\n\n\n\n\nUp",{c:"#6633ee",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
+[{x:-3,c:"#9977ee"},"Vol\n\n\n\n\n\nDown"]
 

BIN
keyboards/ergodox/keymaps/ordinary/ordinary-special.png


+ 11 - 11
keyboards/ergodox/keymaps/ordinary/ordinary-special.txt

@@ -1,21 +1,21 @@
 [{x:3.5,a:7},"",{x:10.5},""],
-[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
-[{y:-0.875,x:5.5},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
-[{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#54d6de"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"_\n\n\n\n\n\n-"],
+[{y:-0.875,x:5.5,a:7},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
+[{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#ff8500"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"{\n["],
+[{y:-0.875,x:5.5,a:7},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
+[{y:-0.875,c:"#c6c600",t:"#002299",a:4,w:1.5},"Media\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5,a:4},"\n\n}\n]",{c:"#c6c600",t:"#002299",w:1.5},"Media\n\n\n\n\n\nLock"],
 [{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
-[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
-[{y:-0.875,x:5.5},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
-[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
-[{y:-0.375,x:3.5},"",{x:10.5},""],
 [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
 [{y:-0.875,x:5.5},"",{x:6.5},""],
-[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
-[{y:-0.625,x:6.5,h:1.5},"",{x:4.5,h:1.5},""],
+[{y:-0.875,c:"#c6c600",t:"#007d00",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#007d00",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock"],
+[{y:-0.625,x:6.5,c:"#cccccc",t:"#000000",a:7,h:1.5},"",{x:4.5,h:1.5},""],
 [{y:-0.75,x:3.5},"",{x:10.5},""],
 [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
 [{y:-0.875,x:5.5},"",{x:6.5},""],
-[{y:-0.875,w:1.5},"","",{x:14.5},"",{c:"#2277ff",w:1.5},"RShift"],
-[{y:-0.375,x:3.5,c:"#cccccc"},"",{x:10.5},""],
+[{y:-0.875,c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
 [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
 [{y:-0.75,x:0.5},"","",{x:14.5},"",""],
 [{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""],

BIN
keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png


+ 10 - 10
keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt

@@ -1,24 +1,24 @@
 [{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"],
 [{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
 [{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
+[{y:-0.875,c:"#c6c600",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#c6c600",w:1.5},"\n\nShift\n\n\n\n\nLock"],
 [{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"],
 [{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
 [{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#bbddbb"},"(",{x:10.5,c:"#89b087"},"5"],
+[{y:-0.875,c:"#c6c600",t:"#002299",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"!",{x:14.5,c:"#89b087"},"/",{c:"#c6c600",t:"#002299",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#bbddbb",t:"#000000"},"(",{x:10.5,c:"#89b087"},"5"],
 [{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
 [{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"],
-[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
-[{y:-0.625,x:6.5,c:"#54d6de",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
+[{y:-0.875,c:"#000000",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#007d00",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
 [{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"],
 [{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
 [{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},".\n\n\nOption"],
-[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0\n\n\nCmd",{x:1},"=\n\n\nHyper"],
-[{y:-0.75,x:0.5,c:"#77aaff"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+\n\n\nMeh","Enter\n\n\nCtrl"],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Left","Right"],
+[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"%",{x:14.5,c:"#89b087"},"-",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},"."],
+[{y:-0.875,x:2.5,c:"#dddd77"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0",{x:1},"="],
+[{y:-0.75,x:0.5,c:"#dddd77"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+","Enter"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Left","Right"],
 [{h:2},"Space",{h:2},"Enter","Up"],
 [{x:2},"Down"],
 [{r:-30,rx:13,y:-1,x:-3},"Home","End"],

Разница между файлами не показана из-за своего большого размера
+ 29 - 42
keyboards/ergodox/keymaps/ordinary/readme.md


+ 1 - 1
keyboards/tv44/keymaps/default/keymap.c

@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC,  KC_RALT, KC_ESC,  XXXXXXX, TG(_L3) }
   },
   [_DV] = { /* Dvorak */
-    {KC_TAB,  KC_COMM, KC_DOT,  KC_SLSH, KC_Q,    KC_Q,    KC_Q,    KC_Q,    KC_Q,    KC_Q,    KC_Q,    KC_BSPC },
+    {KC_TAB,  KC_SLSH, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC },
     {MO(_L1), KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    MO(_L1) },
     {KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    MO(_L2) },
     {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT,  XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC,  KC_RALT, KC_ESC,  XXXXXXX, TG(_L3) }

+ 49 - 2
readme.md

@@ -43,6 +43,29 @@ Before you are able to compile, you'll need to install an environment for AVR de
 
 ## Build Environment Setup
 
+### Windows 10
+
+It's still recommended to use the method for Vista and later below. The reason for this is that the Windows 10 Subsystem for Linux lacks [USB support](https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13355724-unable-to-access-usb-devices-from-bash), so it's not possible to flash the firmware to the keyboard. Please add your vote to the link!
+
+That said, it's still possible to use it for compilation. And recommended, if you need to compile much, since it's much faster than at least Cygwin (which is also supported, but currently lacking documentation). I haven't tried the method below, so I'm unable to tell.
+
+Here are the steps
+
+1. Install the Windows 10 subsystem for Linux, following [these instructions](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/).
+2. If you have previously cloned the repository using the normal Git bash, you will need to clean up the line endings. If you have cloned it after 20th of August 2016, you are likely fine. To clean up the line endings do the following
+   1. Make sure that you have no changes you haven't committed by running `git status`, if you do commit them first
+   2. From within the Git bash run ´git rm --cached -r .`
+   3. Followed by `git reset --hard`
+3. Start the "Bash On Ubuntu On Windows" from the start menu
+4. With the bash open, navigate to your git checkout. The harddisk can be accessed from `/mnt` for example `/mnt/c` for the `c:\` drive.
+5. Run `sudo util/install_dependencies.sh`. 
+6. After a while the installation will finish, and you are good to go
+
+**Note** From time to time, the dependencies might change, so just run `install_dependencies.sh` again if things are not working.
+
+**Warning:** If you edit Makefiles or shell scripts, make sure you are using an editor that saves the files with Unix line endings. Otherwise the compilation might not work.
+
+
 ### Windows (Vista and later)
 1. If you have ever installed WinAVR, uninstall it.
 2. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**.
@@ -68,12 +91,36 @@ You can also try these instructions:
 3. Install [DFU-Programmer][dfu-prog].
 
 ### Linux
-Install AVR GCC, AVR libc, and dfu-progammer with your favorite package manager.
+
+To ensure you are always up to date, you can just run `sudo utils/install_dependencies.sh`. That should always install all the dependencies needed. 
+
+You can also install things manually, but this documentation might not be always up to date with all requirements.
+
+The current requirements are the following, but not all might be needed depending on what you do. Also note that some systems might not have all the dependencies available as packages, or they might be named differently.
+
+```
+build-essential
+gcc
+unzip
+wget
+zip
+gcc-avr
+binutils-avr
+avr-libc
+dfu-programmer
+dfu-util
+gcc-arm-none-eabi
+binutils-arm-none-eabi
+libnewlib-arm-none-eabi
+git
+```
+
+Install the dependencies with your favorite package manager.
 
 Debian/Ubuntu example:
 
     sudo apt-get update
-    sudo apt-get install gcc-avr avr-libc dfu-programmer
+    sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
 
 ### Docker
 

+ 1 - 1
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt

@@ -1 +1 @@
-Copy the Microsoft HV1 Docbook transform contents into this directory (i.e. with the XSLT files in the current folder). The HV1 transform proposal can be found at http://sourceforge.net/tracker/?func=detail&aid=3610290&group_id=21935&atid=373750 .
+Copy the Microsoft HV1 Docbook transform contents into this directory (i.e. with the XSLT files in the current folder). The HV1 transform proposal can be found at http://sourceforge.net/tracker/?func=detail&aid=3610290&group_id=21935&atid=373750 .

+ 1 - 1
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/placeholder.txt

@@ -1 +1 @@
-Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ .
+Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ .

+ 45 - 45
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt

@@ -1,45 +1,45 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Docbook XML to Microsoft Help Viewer 1.0 transform file -->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-	<xsl:import href="../Docbook/mshelp/docbook.xsl"/>
-
-	<xsl:output method="xml" indent="no"/>
-
-	<xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']">
-		<span class="hl-keyword" style="color: #0079C1">
-			<xsl:apply-templates/>
-		</span>
-	</xsl:template>
-
-	<xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']">
-		<span class="hl-string" style="color: #800000">
-			<xsl:apply-templates/>
-		</span>
-	</xsl:template>
-
-	<xsl:template match="emphasis[@role = 'comment']">
-		<em class="hl-comment" style="color: #008000">
-			<xsl:apply-templates/>
-		</em>
-	</xsl:template>
-
-	<xsl:template match="emphasis[@role = 'preprocessor']">
-		<span class="hl-preprocessor" style="color: #A000A0">
-			<xsl:apply-templates/>
-		</span>
-	</xsl:template>
-
-	<xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]">
-		<xsl:apply-templates />
-	</xsl:template>
-
-</xsl:stylesheet>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Docbook XML to Microsoft Help Viewer 1.0 transform file -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+	<xsl:import href="../Docbook/mshelp/docbook.xsl"/>
+
+	<xsl:output method="xml" indent="no"/>
+
+	<xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']">
+		<span class="hl-keyword" style="color: #0079C1">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']">
+		<span class="hl-string" style="color: #800000">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="emphasis[@role = 'comment']">
+		<em class="hl-comment" style="color: #008000">
+			<xsl:apply-templates/>
+		</em>
+	</xsl:template>
+
+	<xsl:template match="emphasis[@role = 'preprocessor']">
+		<span class="hl-preprocessor" style="color: #A000A0">
+			<xsl:apply-templates/>
+		</span>
+	</xsl:template>
+
+	<xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]">
+		<xsl:apply-templates />
+	</xsl:template>
+
+</xsl:stylesheet>

+ 53 - 53
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css

@@ -1,53 +1,53 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-.programlisting {
- 	display: block;
- 	margin-left: 15px;
- 	padding: 10px;
- 	background-color: #f4f4f4;
- 	border: 1px solid #aaaaaa;
- 	font-family: "Consolas", "Courier New", sans-serif;
- }
-
- code {
- 	background-color: #f4f4f4;
- 	font-family: "Consolas", "Courier New", sans-serif;
- }
-
-.note, .warning, .tip {
-	display: block;
- 	margin-left: 15px;
- 	padding-left: 10px;
- 	padding-bottom: 5px;
- 	background-color: #f4f4f4;
- 	border: 1px solid #aaaaaa;
-}
-
-table {
-	border: 1px solid #aaaaaa;
-	border-collapse: collapse;
-	margin-left: 15px;
-	font-size: 10pt;
-}
-
-table thead {
- 	background-color: #f4f4f4;
-}
-
-table thead th {
-	padding: 5px;
-}
-
-table tbody td {
-	padding: 5px;
-}
-
-ul {
-	padding-left: 20px;
-}
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+.programlisting {
+ 	display: block;
+ 	margin-left: 15px;
+ 	padding: 10px;
+ 	background-color: #f4f4f4;
+ 	border: 1px solid #aaaaaa;
+ 	font-family: "Consolas", "Courier New", sans-serif;
+ }
+
+ code {
+ 	background-color: #f4f4f4;
+ 	font-family: "Consolas", "Courier New", sans-serif;
+ }
+
+.note, .warning, .tip {
+	display: block;
+ 	margin-left: 15px;
+ 	padding-left: 10px;
+ 	padding-bottom: 5px;
+ 	background-color: #f4f4f4;
+ 	border: 1px solid #aaaaaa;
+}
+
+table {
+	border: 1px solid #aaaaaa;
+	border-collapse: collapse;
+	margin-left: 15px;
+	font-size: 10pt;
+}
+
+table thead {
+ 	background-color: #f4f4f4;
+}
+
+table thead th {
+	padding: 5px;
+}
+
+table tbody td {
+	padding: 5px;
+}
+
+ul {
+	padding-left: 20px;
+}

+ 13 - 13
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/[Content_Types].xml

@@ -1,13 +1,13 @@
-<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
-	<Default Extension="vsixmanifest" ContentType="text/xml"/>
-	<Default Extension="cache" ContentType="text/xml"/>
-	<Default Extension="png" ContentType="application/octet-stream"/>
-	<Default Extension="txt" ContentType="text/plain"/>
-	<Default Extension="xml" ContentType="text/xml"/>
-	<Default Extension="zip" ContentType="application/octet-stream"/>
-	<Default Extension="dll" ContentType="application/octet-stream" />
-	<Default Extension="pkgdef" ContentType="text/plain" />
-	<Default Extension="htm" ContentType="text/html" />
-	<Default Extension="msha" ContentType="text/html" />
-	<Default Extension="mshc" ContentType="application/octet-stream"/>
-</Types>
+<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
+	<Default Extension="vsixmanifest" ContentType="text/xml"/>
+	<Default Extension="cache" ContentType="text/xml"/>
+	<Default Extension="png" ContentType="application/octet-stream"/>
+	<Default Extension="txt" ContentType="text/plain"/>
+	<Default Extension="xml" ContentType="text/xml"/>
+	<Default Extension="zip" ContentType="application/octet-stream"/>
+	<Default Extension="dll" ContentType="application/octet-stream" />
+	<Default Extension="pkgdef" ContentType="text/plain" />
+	<Default Extension="htm" ContentType="text/html" />
+	<Default Extension="msha" ContentType="text/html" />
+	<Default Extension="mshc" ContentType="application/octet-stream"/>
+</Types>

+ 18 - 18
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/asf-manifest.xml

@@ -1,18 +1,18 @@
-<AsfContentProvider Version="1.0.0">
-	<Identifier Id="0e160d5c-e331-48d9-850b-e0387912171b">
-		<Org>FourWalledCubicle</Org>
-		<ShortName>LUFA</ShortName>
-		<Author>Dean Camera</Author>
-		<Description/>
-		<FollowFolderStructure>True</FollowFolderStructure>
-	</Identifier>
-	<AsfContent Type="zip" Path="contents.zip">
-		<Content>
-			<Version>0</Version>
-			<HelpURL/>
-			<Locator/>
-			<DbXMLPath>content.xml.cache</DbXMLPath>
-			<Description/>
-		</Content>
-	</AsfContent>
-</AsfContentProvider>
+<AsfContentProvider Version="1.0.0">
+	<Identifier Id="0e160d5c-e331-48d9-850b-e0387912171b">
+		<Org>FourWalledCubicle</Org>
+		<ShortName>LUFA</ShortName>
+		<Author>Dean Camera</Author>
+		<Description/>
+		<FollowFolderStructure>True</FollowFolderStructure>
+	</Identifier>
+	<AsfContent Type="zip" Path="contents.zip">
+		<Content>
+			<Version>0</Version>
+			<HelpURL/>
+			<Locator/>
+			<DbXMLPath>content.xml.cache</DbXMLPath>
+			<Description/>
+		</Content>
+	</AsfContent>
+</AsfContentProvider>

+ 33 - 33
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/extension.vsixmanifest

@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
-	<Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b">
-		<Name>LUFA Library</Name>
-		<Author>Dean Camera</Author>
-		<Version>0</Version>
-		<MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl>
-		<Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description>
-
-		<License>License.txt</License>
-		<Icon>LUFA_thumb.png</Icon>
-		<PreviewImage>LUFA.png</PreviewImage>
-
-		<SupportedProducts>
-			<IsolatedShell Version="6.1">AtmelStudio</IsolatedShell>
-			<IsolatedShell Version="6.2">AtmelStudio</IsolatedShell>
-		</SupportedProducts>
-
-		<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/>
-		<Locale>1033</Locale>
-
-	    <AllUsers>false</AllUsers>
-	</Identifier>
-
-	<References/>
-
-	<Content>
-		<VsPackage>LUFA.pkgdef</VsPackage>
-	    <CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension>
-		<CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension>
-	</Content>
-</Vsix>
+<?xml version="1.0" encoding="utf-8"?>
+
+<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
+	<Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b">
+		<Name>LUFA Library</Name>
+		<Author>Dean Camera</Author>
+		<Version>0</Version>
+		<MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl>
+		<Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description>
+
+		<License>License.txt</License>
+		<Icon>LUFA_thumb.png</Icon>
+		<PreviewImage>LUFA.png</PreviewImage>
+
+		<SupportedProducts>
+			<IsolatedShell Version="6.1">AtmelStudio</IsolatedShell>
+			<IsolatedShell Version="6.2">AtmelStudio</IsolatedShell>
+		</SupportedProducts>
+
+		<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/>
+		<Locale>1033</Locale>
+
+	    <AllUsers>false</AllUsers>
+	</Identifier>
+
+	<References/>
+
+	<Content>
+		<VsPackage>LUFA.pkgdef</VsPackage>
+	    <CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension>
+		<CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension>
+	</Content>
+</Vsix>

+ 38 - 38
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/generate_caches.py

@@ -1,38 +1,38 @@
-"""
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-"""
-
-import sys
-sys.path.append("ProjectGenerator")
-
-
-def show_message(message):
-    print("[Project Generator] %s" % message)
-    sys.stdout.flush()
-
-
-def main(lufa_root_path):
-    try:
-        from asf_avrstudio5_interface import PythonFacade
-    except ImportError:
-        print("Fatal Error: The ASF project generator is missing.")
-        return 1
-
-    p = PythonFacade(lufa_root_path)
-
-    show_message("Checking database sanity...")
-    p.check_extension_database_sanity(lufa_root_path)
-
-    show_message("Building cache files...")
-    p.generate_extension_cache_files(lufa_root_path)
-
-    show_message("Cache files created.")
-    return 0
-
-
-if __name__ == "__main__":
-    sys.exit(main(sys.argv[1]))
+"""
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+"""
+
+import sys
+sys.path.append("ProjectGenerator")
+
+
+def show_message(message):
+    print("[Project Generator] %s" % message)
+    sys.stdout.flush()
+
+
+def main(lufa_root_path):
+    try:
+        from asf_avrstudio5_interface import PythonFacade
+    except ImportError:
+        print("Fatal Error: The ASF project generator is missing.")
+        return 1
+
+    p = PythonFacade(lufa_root_path)
+
+    show_message("Checking database sanity...")
+    p.check_extension_database_sanity(lufa_root_path)
+
+    show_message("Building cache files...")
+    p.generate_extension_cache_files(lufa_root_path)
+
+    show_message("Cache files created.")
+    return 0
+
+
+if __name__ == "__main__":
+    sys.exit(main(sys.argv[1]))

+ 96 - 96
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa.xml

@@ -1,96 +1,96 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<extension-container>
-		<extension uuid="0e160d5c-e331-48d9-850b-e0387912171b" org="FourWalledCubicle" shortname="LUFA" version="" fullname="Lightweight USB Framework for AVRs (LUFA)">
-			<author name="Dean Camera" website="http://www.lufa-lib.org/" email="dean@fourwalledcubicle.com"/>
-			<description>Lightweight USB Framework for AVRs (LUFA), a USB software stack/framework.</description>
-			<icon-image path="LUFA/DoxygenPages/Images/LUFA_thumb.png"/>
-			<preview-image path="LUFA/DoxygenPages/Images/LUFA.png"/>
-			<license caption="LUFA License" path="LUFA/License.txt"/>
-			<release-notes caption="LUFA Information" url="http://www.lufa-lib.org"/>
-			<online-help>
-				<index-page caption="LUFA Documentation" url="http://www.lufa-lib.org/documentation/"/>
-				<module-help-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
-				<module-guide-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
-			</online-help>
-			<dependencies/>
-		</extension>
-	</extension-container>
-
-	<asf>
-		<device-alias-map name="lufa_avr8">
-			<device-support value="at90usb82"/>
-			<device-support value="atmega8u2"/>
-			<device-support value="at90usb162"/>
-			<device-support value="atmega16u2"/>
-			<device-support value="atmega16u4"/>
-			<device-support value="atmega32u2"/>
-			<device-support value="atmega32u4"/>
-			<device-support value="at90usb646"/>
-			<device-support value="at90usb647"/>
-			<device-support value="at90usb1286"/>
-			<device-support value="at90usb1287"/>
-		</device-alias-map>
-
-		<device-alias-map name="lufa_xmega">
-			<device-support value="atxmega16a4u"/>
-			<device-support value="atxmega32a4u"/>
-			<device-support value="atxmega64a4u"/>
-			<device-support value="atxmega128a4u"/>
-			<device-support value="atxmega64a3u"/>
-			<device-support value="atxmega128a3u"/>
-			<device-support value="atxmega192a3u"/>
-			<device-support value="atxmega256a3u"/>
-			<device-support value="atxmega256a3bu"/>
-			<device-support value="atxmega128a1u"/>
-			<device-support value="atxmega64b3"/>
-			<device-support value="atxmega128b3"/>
-			<device-support value="atxmega64b1"/>
-			<device-support value="atxmega128b1"/>
-			<device-support value="atxmega64c3"/>
-			<device-support value="atxmega128c3"/>
-			<!-- <device-support value="atxmega192c3"/> Wait for ASFP-3339 merge and release before enabling -->
-			<device-support value="atxmega256c3"/>
-			<device-support value="atxmega384c3"/>
-			<device-support value="atxmega16c4"/>
-		</device-alias-map>
-
-		<device-alias-map name="lufa_uc3">
-			<device-support value="at32uc3a364"/>
-			<device-support value="at32uc3a364s"/>
-			<device-support value="at32uc3a464"/>
-			<device-support value="at32uc3a464s"/>
-			<device-support value="at32uc3b064"/>
-			<device-support value="at32uc3b164"/>
-			<device-support value="at32uc3a0128"/>
-			<device-support value="at32uc3a1128"/>
-			<device-support value="at32uc3a3128"/>
-			<device-support value="at32uc3a3128s"/>
-			<device-support value="at32uc3a4128"/>
-			<device-support value="at32uc3a4128s"/>
-			<device-support value="at32uc3b0128"/>
-			<device-support value="at32uc3b1128"/>
-			<device-support value="at32uc3a0256"/>
-			<device-support value="at32uc3a1256"/>
-			<device-support value="at32uc3a3256"/>
-			<device-support value="at32uc3a3256s"/>
-			<device-support value="at32uc3a4256"/>
-			<device-support value="at32uc3a4256s"/>
-			<device-support value="at32uc3b0256"/>
-			<device-support value="at32uc3b1256"/>
-			<device-support value="at32uc3a0512"/>
-			<device-support value="at32uc3a1512"/>
-			<device-support value="at32uc3b0512"/>
-			<device-support value="at32uc3b1512"/>
-		</device-alias-map>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<extension-container>
+		<extension uuid="0e160d5c-e331-48d9-850b-e0387912171b" org="FourWalledCubicle" shortname="LUFA" version="" fullname="Lightweight USB Framework for AVRs (LUFA)">
+			<author name="Dean Camera" website="http://www.lufa-lib.org/" email="dean@fourwalledcubicle.com"/>
+			<description>Lightweight USB Framework for AVRs (LUFA), a USB software stack/framework.</description>
+			<icon-image path="LUFA/DoxygenPages/Images/LUFA_thumb.png"/>
+			<preview-image path="LUFA/DoxygenPages/Images/LUFA.png"/>
+			<license caption="LUFA License" path="LUFA/License.txt"/>
+			<release-notes caption="LUFA Information" url="http://www.lufa-lib.org"/>
+			<online-help>
+				<index-page caption="LUFA Documentation" url="http://www.lufa-lib.org/documentation/"/>
+				<module-help-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
+				<module-guide-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/>
+			</online-help>
+			<dependencies/>
+		</extension>
+	</extension-container>
+
+	<asf>
+		<device-alias-map name="lufa_avr8">
+			<device-support value="at90usb82"/>
+			<device-support value="atmega8u2"/>
+			<device-support value="at90usb162"/>
+			<device-support value="atmega16u2"/>
+			<device-support value="atmega16u4"/>
+			<device-support value="atmega32u2"/>
+			<device-support value="atmega32u4"/>
+			<device-support value="at90usb646"/>
+			<device-support value="at90usb647"/>
+			<device-support value="at90usb1286"/>
+			<device-support value="at90usb1287"/>
+		</device-alias-map>
+
+		<device-alias-map name="lufa_xmega">
+			<device-support value="atxmega16a4u"/>
+			<device-support value="atxmega32a4u"/>
+			<device-support value="atxmega64a4u"/>
+			<device-support value="atxmega128a4u"/>
+			<device-support value="atxmega64a3u"/>
+			<device-support value="atxmega128a3u"/>
+			<device-support value="atxmega192a3u"/>
+			<device-support value="atxmega256a3u"/>
+			<device-support value="atxmega256a3bu"/>
+			<device-support value="atxmega128a1u"/>
+			<device-support value="atxmega64b3"/>
+			<device-support value="atxmega128b3"/>
+			<device-support value="atxmega64b1"/>
+			<device-support value="atxmega128b1"/>
+			<device-support value="atxmega64c3"/>
+			<device-support value="atxmega128c3"/>
+			<!-- <device-support value="atxmega192c3"/> Wait for ASFP-3339 merge and release before enabling -->
+			<device-support value="atxmega256c3"/>
+			<device-support value="atxmega384c3"/>
+			<device-support value="atxmega16c4"/>
+		</device-alias-map>
+
+		<device-alias-map name="lufa_uc3">
+			<device-support value="at32uc3a364"/>
+			<device-support value="at32uc3a364s"/>
+			<device-support value="at32uc3a464"/>
+			<device-support value="at32uc3a464s"/>
+			<device-support value="at32uc3b064"/>
+			<device-support value="at32uc3b164"/>
+			<device-support value="at32uc3a0128"/>
+			<device-support value="at32uc3a1128"/>
+			<device-support value="at32uc3a3128"/>
+			<device-support value="at32uc3a3128s"/>
+			<device-support value="at32uc3a4128"/>
+			<device-support value="at32uc3a4128s"/>
+			<device-support value="at32uc3b0128"/>
+			<device-support value="at32uc3b1128"/>
+			<device-support value="at32uc3a0256"/>
+			<device-support value="at32uc3a1256"/>
+			<device-support value="at32uc3a3256"/>
+			<device-support value="at32uc3a3256s"/>
+			<device-support value="at32uc3a4256"/>
+			<device-support value="at32uc3a4256s"/>
+			<device-support value="at32uc3b0256"/>
+			<device-support value="at32uc3b1256"/>
+			<device-support value="at32uc3a0512"/>
+			<device-support value="at32uc3a1512"/>
+			<device-support value="at32uc3b0512"/>
+			<device-support value="at32uc3b1512"/>
+		</device-alias-map>
+	</asf>
+</lufa>

+ 34 - 34
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_common.xml

@@ -1,34 +1,34 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="service" id="lufa.common" caption="LUFA Common Infrastructure">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<info type="gui-flag" value="hidden"/>
-			<build type="doxygen-entry-point" value="Group_Common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Version.h"/>
-			<build type="distribute" subtype="license" value="License.txt"/>
-
-			<build type="header-file" subtype="api" value="Common/Common.h"/>
-			<build type="header-file" value="Common/Architectures.h"/>
-			<build type="header-file" value="Common/ArchitectureSpecific.h"/>
-			<build type="header-file" value="Common/Attributes.h"/>
-			<build type="header-file" value="Common/BoardTypes.h"/>
-			<build type="header-file" value="Common/CompilerSpecific.h"/>
-			<build type="header-file" value="Common/Endianness.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="service" id="lufa.common" caption="LUFA Common Infrastructure">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<info type="gui-flag" value="hidden"/>
+			<build type="doxygen-entry-point" value="Group_Common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Version.h"/>
+			<build type="distribute" subtype="license" value="License.txt"/>
+
+			<build type="header-file" subtype="api" value="Common/Common.h"/>
+			<build type="header-file" value="Common/Architectures.h"/>
+			<build type="header-file" value="Common/ArchitectureSpecific.h"/>
+			<build type="header-file" value="Common/Attributes.h"/>
+			<build type="header-file" value="Common/BoardTypes.h"/>
+			<build type="header-file" value="Common/CompilerSpecific.h"/>
+			<build type="header-file" value="Common/Endianness.h"/>
+		</module>
+	</asf>
+</lufa>

+ 114 - 114
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board.xml

@@ -1,114 +1,114 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<board id="lufa.boards.dummy.avr8" vendor="LUFA" caption="AVR8 Architecture">
-			<device-support value="mega"/>
-
-			<require idref="lufa.drivers.board"/>
-			<require idref="lufa.drivers.board.info"/>
-		</board>
-
-		<board id="lufa.boards.dummy.xmega" vendor="LUFA" caption="XMEGA Architecture">
-			<device-support value="xmega"/>
-
-			<require idref="lufa.drivers.board"/>
-			<require idref="lufa.drivers.board.info"/>
-		</board>
-
-		<board id="lufa.boards.dummy.uc3" vendor="LUFA" caption="UC3 Architecture">
-			<device-support value="uc3"/>
-
-			<require idref="lufa.drivers.board"/>
-			<require idref="lufa.drivers.board.info"/>
-		</board>
-
-		<module type="driver" id="lufa.drivers.board.info" caption="LUFA Board Hardware Information Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_BoardInfo"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Board.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.leds" caption="LUFA Board LED Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_LEDs"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/LEDs.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.buttons" caption="LUFA Board Buttons Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Buttons"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Buttons.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.dataflash" caption="LUFA Board Dataflash Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Dataflash"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Dataflash.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.joystick" caption="LUFA Board Joystick Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Joystick"/>
-
-			<require idref="lufa.common"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Joystick.h"/>
-		</module>
-
-		<module type="driver" id="lufa.drivers.board.temperature" caption="LUFA Board Temperature Sensor Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Temperature"/>
-
-			<require idref="lufa.common"/>
-			<require idref="lufa.drivers.peripheral.adc"/>
-
-			<build type="c-source"     value="Drivers/Board/Temperature.c"/>
-			<build type="include-path" value=".."/>
-			<build type="header-file"  subtype="api" value="Drivers/Board/Temperature.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<board id="lufa.boards.dummy.avr8" vendor="LUFA" caption="AVR8 Architecture">
+			<device-support value="mega"/>
+
+			<require idref="lufa.drivers.board"/>
+			<require idref="lufa.drivers.board.info"/>
+		</board>
+
+		<board id="lufa.boards.dummy.xmega" vendor="LUFA" caption="XMEGA Architecture">
+			<device-support value="xmega"/>
+
+			<require idref="lufa.drivers.board"/>
+			<require idref="lufa.drivers.board.info"/>
+		</board>
+
+		<board id="lufa.boards.dummy.uc3" vendor="LUFA" caption="UC3 Architecture">
+			<device-support value="uc3"/>
+
+			<require idref="lufa.drivers.board"/>
+			<require idref="lufa.drivers.board.info"/>
+		</board>
+
+		<module type="driver" id="lufa.drivers.board.info" caption="LUFA Board Hardware Information Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_BoardInfo"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Board.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.leds" caption="LUFA Board LED Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_LEDs"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/LEDs.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.buttons" caption="LUFA Board Buttons Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Buttons"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Buttons.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.dataflash" caption="LUFA Board Dataflash Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Dataflash"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Dataflash.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.joystick" caption="LUFA Board Joystick Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Joystick"/>
+
+			<require idref="lufa.common"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Joystick.h"/>
+		</module>
+
+		<module type="driver" id="lufa.drivers.board.temperature" caption="LUFA Board Temperature Sensor Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Temperature"/>
+
+			<require idref="lufa.common"/>
+			<require idref="lufa.drivers.peripheral.adc"/>
+
+			<build type="c-source"     value="Drivers/Board/Temperature.c"/>
+			<build type="include-path" value=".."/>
+			<build type="header-file"  subtype="api" value="Drivers/Board/Temperature.h"/>
+		</module>
+	</asf>
+</lufa>

Разница между файлами не показана из-за своего большого размера
+ 853 - 853
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board_names.xml


+ 56 - 56
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_misc.xml

@@ -1,57 +1,57 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="component" id="lufa.drivers.misc.at45db321c" caption="LUFA AT45DB321C Dataflash Commands">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_AT45DB321C"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/Misc/AT45DB321C.h"/>
-		</module>
-
-		<module type="component" id="lufa.drivers.misc.at45db642d" caption="LUFA AT45DB642D Dataflash Commands">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_AT45DB321C"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/Misc/AT45DB642D.h"/>
-		</module>
-
-		<module type="service" id="lufa.drivers.misc.ringbuffer" caption="LUFA Ring Buffer">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_RingBuff"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/Misc/RingBuffer.h"/>
-		</module>
-
-		<module type="service" id="lufa.drivers.misc.ansi" caption="LUFA ANSI Terminal Commands">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_Terminal"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/Misc/TerminalCodes.h"/>
-		</module>
-	</asf>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="component" id="lufa.drivers.misc.at45db321c" caption="LUFA AT45DB321C Dataflash Commands">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_AT45DB321C"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/Misc/AT45DB321C.h"/>
+		</module>
+
+		<module type="component" id="lufa.drivers.misc.at45db642d" caption="LUFA AT45DB642D Dataflash Commands">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_AT45DB321C"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/Misc/AT45DB642D.h"/>
+		</module>
+
+		<module type="service" id="lufa.drivers.misc.ringbuffer" caption="LUFA Ring Buffer">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_RingBuff"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/Misc/RingBuffer.h"/>
+		</module>
+
+		<module type="service" id="lufa.drivers.misc.ansi" caption="LUFA ANSI Terminal Commands">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_Terminal"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/Misc/TerminalCodes.h"/>
+		</module>
+	</asf>
 </lufa>

+ 198 - 198
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_peripheral.xml

@@ -1,198 +1,198 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<select-by-device id="lufa.drivers.peripheral.usart" caption="LUFA USART Driver">
-			<module type="driver" id="lufa.drivers.peripheral.usart#avr8" caption="LUFA USART Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_Serial"/>
-
-				<require idref="lufa.common"/>
-				<require idref="lufa.drivers.misc.ansi"/>
-
-				<build type="c-source" value="Drivers/Peripheral/AVR8/Serial_AVR8.c"/>
-				<build type="header-file" value="Drivers/Peripheral/AVR8/Serial_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.usart#xmega" caption="LUFA USART Driver - AVR8">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_Serial"/>
-
-				<require idref="lufa.common"/>
-				<require idref="lufa.drivers.misc.ansi"/>
-
-				<build type="c-source" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.c"/>
-				<build type="header-file" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.usart#uc3" caption="LUFA USART Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_Serial"/>
-
-				<require idref="lufa.common"/>
-				<require idref="lufa.drivers.misc.ansi"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-
-		<select-by-device id="lufa.drivers.peripheral.spi" caption="LUFA SPI Driver">
-			<module type="driver" id="lufa.drivers.peripheral.spi#avr8" caption="LUFA SPI Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_SPI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/AVR8/SPI_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.spi#xmega" caption="LUFA SPI Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_SPI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/XMEGA/SPI_XMEGA.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.spi#uc3" caption="LUFA SPI Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_SPI"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-
-		<select-by-device id="lufa.drivers.peripheral.usart_spi" caption="LUFA USART SPI Driver">
-			<module type="driver" id="lufa.drivers.peripheral.usart_spi#avr8" caption="LUFA USART SPI Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/AVR8/SerialSPI_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api"  value="Drivers/Peripheral/SerialSPI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.usart_spi#xmega" caption="LUFA USART SPI Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/XMEGA/SerialSPI_XMEGA.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.usart_spi#uc3" caption="LUFA USART SPI Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-
-		<select-by-device id="lufa.drivers.peripheral.twi" caption="LUFA TWI Master Driver">
-			<module type="driver" id="lufa.drivers.peripheral.twi#avr8" caption="LUFA TWI Master Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_TWI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="c-source" value="Drivers/Peripheral/AVR8/TWI_AVR8.c"/>
-				<build type="header-file" value="Drivers/Peripheral/AVR8/TWI_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.twi#xmega" caption="LUFA TWI Master Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_TWI"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="c-source" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.c"/>
-				<build type="header-file" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.twi#uc3" caption="LUFA TWI Master Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_TWI"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-
-		<select-by-device id="lufa.drivers.peripheral.adc" caption="LUFA ADC Driver">
-			<module type="driver" id="lufa.drivers.peripheral.adc#avr8" caption="LUFA ADC Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="doxygen-entry-point" value="Group_ADC"/>
-
-				<require idref="lufa.common"/>
-
-				<build type="header-file" value="Drivers/Peripheral/AVR8/ADC_AVR8.h"/>
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Drivers/Peripheral/ADC.h"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.adc#xmega" caption="LUFA ADC Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="doxygen-entry-point" value="Group_ADC"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.peripheral.adc#uc3" caption="LUFA ADC Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="doxygen-entry-point" value="Group_ADC"/>
-
-				<require idref="lufa.common"/>
-
-				<info type="gui-flag" value="hidden"/>
-			</module>
-		</select-by-device>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<select-by-device id="lufa.drivers.peripheral.usart" caption="LUFA USART Driver">
+			<module type="driver" id="lufa.drivers.peripheral.usart#avr8" caption="LUFA USART Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_Serial"/>
+
+				<require idref="lufa.common"/>
+				<require idref="lufa.drivers.misc.ansi"/>
+
+				<build type="c-source" value="Drivers/Peripheral/AVR8/Serial_AVR8.c"/>
+				<build type="header-file" value="Drivers/Peripheral/AVR8/Serial_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.usart#xmega" caption="LUFA USART Driver - AVR8">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_Serial"/>
+
+				<require idref="lufa.common"/>
+				<require idref="lufa.drivers.misc.ansi"/>
+
+				<build type="c-source" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.c"/>
+				<build type="header-file" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.usart#uc3" caption="LUFA USART Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_Serial"/>
+
+				<require idref="lufa.common"/>
+				<require idref="lufa.drivers.misc.ansi"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+
+		<select-by-device id="lufa.drivers.peripheral.spi" caption="LUFA SPI Driver">
+			<module type="driver" id="lufa.drivers.peripheral.spi#avr8" caption="LUFA SPI Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_SPI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/AVR8/SPI_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.spi#xmega" caption="LUFA SPI Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_SPI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/XMEGA/SPI_XMEGA.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.spi#uc3" caption="LUFA SPI Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_SPI"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+
+		<select-by-device id="lufa.drivers.peripheral.usart_spi" caption="LUFA USART SPI Driver">
+			<module type="driver" id="lufa.drivers.peripheral.usart_spi#avr8" caption="LUFA USART SPI Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/AVR8/SerialSPI_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api"  value="Drivers/Peripheral/SerialSPI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.usart_spi#xmega" caption="LUFA USART SPI Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/XMEGA/SerialSPI_XMEGA.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.usart_spi#uc3" caption="LUFA USART SPI Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_SerialSPI"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+
+		<select-by-device id="lufa.drivers.peripheral.twi" caption="LUFA TWI Master Driver">
+			<module type="driver" id="lufa.drivers.peripheral.twi#avr8" caption="LUFA TWI Master Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_TWI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="c-source" value="Drivers/Peripheral/AVR8/TWI_AVR8.c"/>
+				<build type="header-file" value="Drivers/Peripheral/AVR8/TWI_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.twi#xmega" caption="LUFA TWI Master Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_TWI"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="c-source" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.c"/>
+				<build type="header-file" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.twi#uc3" caption="LUFA TWI Master Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_TWI"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+
+		<select-by-device id="lufa.drivers.peripheral.adc" caption="LUFA ADC Driver">
+			<module type="driver" id="lufa.drivers.peripheral.adc#avr8" caption="LUFA ADC Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="doxygen-entry-point" value="Group_ADC"/>
+
+				<require idref="lufa.common"/>
+
+				<build type="header-file" value="Drivers/Peripheral/AVR8/ADC_AVR8.h"/>
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Drivers/Peripheral/ADC.h"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.adc#xmega" caption="LUFA ADC Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="doxygen-entry-point" value="Group_ADC"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.peripheral.adc#uc3" caption="LUFA ADC Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="doxygen-entry-point" value="Group_ADC"/>
+
+				<require idref="lufa.common"/>
+
+				<info type="gui-flag" value="hidden"/>
+			</module>
+		</select-by-device>
+	</asf>
+</lufa>

+ 31 - 31
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb.xml

@@ -1,32 +1,32 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb" caption="LUFA USB Driver">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_USB"/>
-
-			<build type="define" name="USE_LUFA_CONFIG_HEADER" value=""/>
-			<build type="module-config" subtype="path" value="CodeTemplates"/>
-			<build type="module-config" subtype="required-header-file" value="LUFAConfig.h"/>
-
-			<build type="include-path" value=".."/>
-			<build type="header-file" subtype="api" value="Drivers/USB/USB.h"/>
-
-			<require idref="lufa.common"/>
-			<require idref="lufa.drivers.usb.class"/>
-			<require idref="lufa.drivers.usb.core"/>
-		</module>
-	</asf>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb" caption="LUFA USB Driver">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_USB"/>
+
+			<build type="define" name="USE_LUFA_CONFIG_HEADER" value=""/>
+			<build type="module-config" subtype="path" value="CodeTemplates"/>
+			<build type="module-config" subtype="required-header-file" value="LUFAConfig.h"/>
+
+			<build type="include-path" value=".."/>
+			<build type="header-file" subtype="api" value="Drivers/USB/USB.h"/>
+
+			<require idref="lufa.common"/>
+			<require idref="lufa.drivers.usb.class"/>
+			<require idref="lufa.drivers.usb.core"/>
+		</module>
+	</asf>
 </lufa>

+ 32 - 32
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_class.xml

@@ -1,32 +1,32 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="service" id="lufa.drivers.usb.class" caption="LUFA USB Class Drivers">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<info type="gui-flag" value="hidden"/>
-			<build type="doxygen-entry-point" value="Group_USBClassDrivers"/>
-
-			<require idref="lufa.drivers.usb.class.android"/>
-			<require idref="lufa.drivers.usb.class.audio"/>
-			<require idref="lufa.drivers.usb.class.cdc"/>
-			<require idref="lufa.drivers.usb.class.hid"/>
-			<require idref="lufa.drivers.usb.class.ms"/>
-			<require idref="lufa.drivers.usb.class.midi"/>
-			<require idref="lufa.drivers.usb.class.printer"/>
-			<require idref="lufa.drivers.usb.class.rndis"/>
-			<require idref="lufa.drivers.usb.class.si"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="service" id="lufa.drivers.usb.class" caption="LUFA USB Class Drivers">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<info type="gui-flag" value="hidden"/>
+			<build type="doxygen-entry-point" value="Group_USBClassDrivers"/>
+
+			<require idref="lufa.drivers.usb.class.android"/>
+			<require idref="lufa.drivers.usb.class.audio"/>
+			<require idref="lufa.drivers.usb.class.cdc"/>
+			<require idref="lufa.drivers.usb.class.hid"/>
+			<require idref="lufa.drivers.usb.class.ms"/>
+			<require idref="lufa.drivers.usb.class.midi"/>
+			<require idref="lufa.drivers.usb.class.printer"/>
+			<require idref="lufa.drivers.usb.class.rndis"/>
+			<require idref="lufa.drivers.usb.class.si"/>
+		</module>
+	</asf>
+</lufa>

+ 85 - 85
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core.xml

@@ -1,85 +1,85 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb.core.common" caption="LUFA USB Core Driver - Common">
-			<device-support-alias value="lufa_avr8"/>
-			<device-support-alias value="lufa_xmega"/>
-			<device-support-alias value="lufa_uc3"/>
-
-			<build type="doxygen-entry-point" value="Group_USBManagement"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="header-file" value="Drivers/USB/Core/Device.h"/>
-			<build type="header-file" value="Drivers/USB/Core/Endpoint.h"/>
-			<build type="header-file" value="Drivers/USB/Core/Host.h"/>
-			<build type="header-file" value="Drivers/USB/Core/Pipe.h"/>
-			<build type="header-file" value="Drivers/USB/Core/OTG.h"/>
-			<build type="header-file" value="Drivers/USB/Core/USBController.h"/>
-			<build type="header-file" value="Drivers/USB/Core/USBInterrupt.h"/>
-			<build type="header-file" value="Drivers/USB/Core/EndpointStream.h"/>
-			<build type="header-file" value="Drivers/USB/Core/PipeStream.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/ConfigDescriptors.c"/>
-			<build type="header-file" value="Drivers/USB/Core/ConfigDescriptors.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/DeviceStandardReq.c"/>
-			<build type="header-file" value="Drivers/USB/Core/DeviceStandardReq.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/Events.c"/>
-			<build type="header-file" value="Drivers/USB/Core/Events.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/HostStandardReq.c"/>
-			<build type="header-file" value="Drivers/USB/Core/HostStandardReq.h"/>
-	        <build type="c-source"    value="Drivers/USB/Core/USBTask.c"/>
-			<build type="header-file" value="Drivers/USB/Core/USBTask.h"/>
-			<build type="header-file" value="Drivers/USB/Core/USBMode.h"/>
-			<build type="header-file" value="Drivers/USB/Core/StdDescriptors.h"/>
-			<build type="header-file" value="Drivers/USB/Core/StdRequestType.h"/>
-
-	        <build type="c-source"    value="Drivers/USB/Class/Common/HIDParser.c"/>
-	        <build type="header-file" value="Drivers/USB/Class/Common/HIDParser.h"/>
-	        <build type="header-file" value="Drivers/USB/Class/Common/HIDReportData.h"/>
-	    </module>
-
-		<select-by-device id="lufa.drivers.usb.core" caption="LUFA USB Core Driver">
-			<module type="driver" id="lufa.drivers.usb.core#avr8" caption="LUFA USB Core Driver - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<info type="gui-flag" value="hidden"/>
-
-				<build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
-
-				<require idref="lufa.drivers.usb.core.common"/>
-				<require idref="lufa.drivers.usb.core.avr8"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.usb.core#xmega" caption="LUFA USB Core Driver - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<info type="gui-flag" value="hidden"/>
-
-				<build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
-
-				<require idref="lufa.drivers.usb.core.common"/>
-				<require idref="lufa.drivers.usb.core.xmega"/>
-			</module>
-
-			<module type="driver" id="lufa.drivers.usb.core#uc3" caption="LUFA USB Core Driver - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<info type="gui-flag" value="hidden"/>
-
-				<build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
-
-				<require idref="lufa.drivers.usb.core.common"/>
-				<require idref="lufa.drivers.usb.core.uc3"/>
-			</module>
-		</select-by-device>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb.core.common" caption="LUFA USB Core Driver - Common">
+			<device-support-alias value="lufa_avr8"/>
+			<device-support-alias value="lufa_xmega"/>
+			<device-support-alias value="lufa_uc3"/>
+
+			<build type="doxygen-entry-point" value="Group_USBManagement"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="header-file" value="Drivers/USB/Core/Device.h"/>
+			<build type="header-file" value="Drivers/USB/Core/Endpoint.h"/>
+			<build type="header-file" value="Drivers/USB/Core/Host.h"/>
+			<build type="header-file" value="Drivers/USB/Core/Pipe.h"/>
+			<build type="header-file" value="Drivers/USB/Core/OTG.h"/>
+			<build type="header-file" value="Drivers/USB/Core/USBController.h"/>
+			<build type="header-file" value="Drivers/USB/Core/USBInterrupt.h"/>
+			<build type="header-file" value="Drivers/USB/Core/EndpointStream.h"/>
+			<build type="header-file" value="Drivers/USB/Core/PipeStream.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/ConfigDescriptors.c"/>
+			<build type="header-file" value="Drivers/USB/Core/ConfigDescriptors.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/DeviceStandardReq.c"/>
+			<build type="header-file" value="Drivers/USB/Core/DeviceStandardReq.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/Events.c"/>
+			<build type="header-file" value="Drivers/USB/Core/Events.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/HostStandardReq.c"/>
+			<build type="header-file" value="Drivers/USB/Core/HostStandardReq.h"/>
+	        <build type="c-source"    value="Drivers/USB/Core/USBTask.c"/>
+			<build type="header-file" value="Drivers/USB/Core/USBTask.h"/>
+			<build type="header-file" value="Drivers/USB/Core/USBMode.h"/>
+			<build type="header-file" value="Drivers/USB/Core/StdDescriptors.h"/>
+			<build type="header-file" value="Drivers/USB/Core/StdRequestType.h"/>
+
+	        <build type="c-source"    value="Drivers/USB/Class/Common/HIDParser.c"/>
+	        <build type="header-file" value="Drivers/USB/Class/Common/HIDParser.h"/>
+	        <build type="header-file" value="Drivers/USB/Class/Common/HIDReportData.h"/>
+	    </module>
+
+		<select-by-device id="lufa.drivers.usb.core" caption="LUFA USB Core Driver">
+			<module type="driver" id="lufa.drivers.usb.core#avr8" caption="LUFA USB Core Driver - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<info type="gui-flag" value="hidden"/>
+
+				<build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
+
+				<require idref="lufa.drivers.usb.core.common"/>
+				<require idref="lufa.drivers.usb.core.avr8"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.usb.core#xmega" caption="LUFA USB Core Driver - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<info type="gui-flag" value="hidden"/>
+
+				<build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
+
+				<require idref="lufa.drivers.usb.core.common"/>
+				<require idref="lufa.drivers.usb.core.xmega"/>
+			</module>
+
+			<module type="driver" id="lufa.drivers.usb.core#uc3" caption="LUFA USB Core Driver - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<info type="gui-flag" value="hidden"/>
+
+				<build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
+
+				<require idref="lufa.drivers.usb.core.common"/>
+				<require idref="lufa.drivers.usb.core.uc3"/>
+			</module>
+		</select-by-device>
+	</asf>
+</lufa>

+ 43 - 43
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml

@@ -1,43 +1,43 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb.core.avr8" caption="LUFA USB Core Driver for AVR8">
-			<device-support-alias value="lufa_avr8"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
-
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Device_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/Device_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Endpoint_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Host_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/Host_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/Pipe_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/Pipe_AVR8.h"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/OTG_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/USBController_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/USBController_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/AVR8/PipeStream_AVR8.c"/>
-			<build type="header-file" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb.core.avr8" caption="LUFA USB Core Driver for AVR8">
+			<device-support-alias value="lufa_avr8"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/>
+
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Device_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/Device_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Endpoint_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Host_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/Host_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/Pipe_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/Pipe_AVR8.h"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/OTG_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/USBController_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/USBController_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/AVR8/PipeStream_AVR8.c"/>
+			<build type="header-file" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.h"/>
+		</module>
+	</asf>
+</lufa>

+ 42 - 42
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml

@@ -1,42 +1,42 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb.core.uc3" caption="LUFA USB Core Driver for UC3">
-			<device-support-alias value="lufa_uc3"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
-
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Device_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/Device_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Endpoint_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/Endpoint_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Host_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/Host_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/Pipe_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/Pipe_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/USBController_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/USBController_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/USBInterrupt_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/EndpointStream_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/EndpointStream_UC3.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/UC3/PipeStream_UC3.c"/>
-			<build type="header-file" value="Drivers/USB/Core/UC3/PipeStream_UC3.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb.core.uc3" caption="LUFA USB Core Driver for UC3">
+			<device-support-alias value="lufa_uc3"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_USBManagement_UC3"/>
+
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Device_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/Device_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Endpoint_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/Endpoint_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Host_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/Host_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/Pipe_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/Pipe_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/USBController_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/USBController_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/USBInterrupt_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/EndpointStream_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/EndpointStream_UC3.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/UC3/PipeStream_UC3.c"/>
+			<build type="header-file" value="Drivers/USB/Core/UC3/PipeStream_UC3.h"/>
+		</module>
+	</asf>
+</lufa>

+ 36 - 36
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml

@@ -1,36 +1,36 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.drivers.usb.core.xmega" caption="LUFA USB Core Driver for XMEGA">
-			<device-support-alias value="lufa_xmega"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
-
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Device_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/Device_XMEGA.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Pipe_XMEGA.c"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/USBController_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h"/>
-			<build type="c-source"    value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c"/>
-			<build type="header-file" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.drivers.usb.core.xmega" caption="LUFA USB Core Driver for XMEGA">
+			<device-support-alias value="lufa_xmega"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/>
+
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Device_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/Device_XMEGA.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/Pipe_XMEGA.c"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/USBController_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h"/>
+			<build type="c-source"    value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c"/>
+			<build type="header-file" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h"/>
+		</module>
+	</asf>
+</lufa>

+ 60 - 60
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform.xml

@@ -1,60 +1,60 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<select-by-device id="lufa.platform" caption="LUFA Platform Specific Support">
-			<module type="service" id="lufa.platform#avr8" caption="LUFA Platform Specific Support - AVR8">
-				<device-support-alias value="lufa_avr8"/>
-
-				<build type="define" name="ARCH" value="ARCH_AVR8"/>
-
-				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
-
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
-
-				<require idref="lufa.common"/>
-			</module>
-
-			<module type="service" id="lufa.platform#xmega" caption="LUFA Platform Specific Support - XMEGA">
-				<device-support-alias value="lufa_xmega"/>
-
-				<build type="define" name="ARCH" value="ARCH_XMEGA"/>
-
-				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
-
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
-
-				<build type="distribute" value="Platform/XMEGA/XMEGAExperimentalInfo.txt" subtype="license"/>
-
-				<require idref="lufa.platform.xmega"/>
-				<require idref="lufa.common"/>
-			</module>
-
-			<module type="service" id="lufa.platform#uc3" caption="LUFA Platform Specific Support - UC3">
-				<device-support-alias value="lufa_uc3"/>
-
-				<build type="define" name="ARCH" value="ARCH_UC3"/>
-
-				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
-
-				<build type="include-path" value=".."/>
-				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
-
-				<build type="distribute" value="Platform/UC3/UC3ExperimentalInfo.txt" subtype="license"/>
-
-				<require idref="lufa.platform.uc3"/>
-				<require idref="lufa.common"/>
-			</module>
-		</select-by-device>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<select-by-device id="lufa.platform" caption="LUFA Platform Specific Support">
+			<module type="service" id="lufa.platform#avr8" caption="LUFA Platform Specific Support - AVR8">
+				<device-support-alias value="lufa_avr8"/>
+
+				<build type="define" name="ARCH" value="ARCH_AVR8"/>
+
+				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+				<require idref="lufa.common"/>
+			</module>
+
+			<module type="service" id="lufa.platform#xmega" caption="LUFA Platform Specific Support - XMEGA">
+				<device-support-alias value="lufa_xmega"/>
+
+				<build type="define" name="ARCH" value="ARCH_XMEGA"/>
+
+				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+				<build type="distribute" value="Platform/XMEGA/XMEGAExperimentalInfo.txt" subtype="license"/>
+
+				<require idref="lufa.platform.xmega"/>
+				<require idref="lufa.common"/>
+			</module>
+
+			<module type="service" id="lufa.platform#uc3" caption="LUFA Platform Specific Support - UC3">
+				<device-support-alias value="lufa_uc3"/>
+
+				<build type="define" name="ARCH" value="ARCH_UC3"/>
+
+				<build type="doxygen-entry-point" value="Group_PlatformDrivers"/>
+
+				<build type="include-path" value=".."/>
+				<build type="header-file" subtype="api" value="Platform/Platform.h"/>
+
+				<build type="distribute" value="Platform/UC3/UC3ExperimentalInfo.txt" subtype="license"/>
+
+				<require idref="lufa.platform.uc3"/>
+				<require idref="lufa.common"/>
+			</module>
+		</select-by-device>
+	</asf>
+</lufa>

+ 26 - 26
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_uc3.xml

@@ -1,26 +1,26 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<module type="driver" id="lufa.platform.uc3" caption="LUFA UC3 Platform Drivers">
-			<device-support-alias value="lufa_uc3"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_PlatformDrivers_UC3"/>
-
-			<build type="header-file" value="Platform/UC3/ClockManagement.h"/>
-			<build type="header-file" value="Platform/UC3/InterruptManagement.h"/>
-			<build type="c-source" value="Platform/UC3/InterruptManagement.c"/>
-			<build type="asm-source" value="Platform/UC3/Exception.S"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<module type="driver" id="lufa.platform.uc3" caption="LUFA UC3 Platform Drivers">
+			<device-support-alias value="lufa_uc3"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_PlatformDrivers_UC3"/>
+
+			<build type="header-file" value="Platform/UC3/ClockManagement.h"/>
+			<build type="header-file" value="Platform/UC3/InterruptManagement.h"/>
+			<build type="c-source" value="Platform/UC3/InterruptManagement.c"/>
+			<build type="asm-source" value="Platform/UC3/Exception.S"/>
+		</module>
+	</asf>
+</lufa>

+ 23 - 23
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_xmega.xml

@@ -1,23 +1,23 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf xmlversion="1.0">
-		<module type="driver" id="lufa.platform.xmega" caption="LUFA XMEGA Platform Drivers">
-			<device-support-alias value="lufa_xmega"/>
-
-			<info type="gui-flag" value="hidden"/>
-
-			<build type="doxygen-entry-point" value="Group_PlatformDrivers_XMEGA"/>
-
-			<build type="header-file" value="Platform/XMEGA/ClockManagement.h"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf xmlversion="1.0">
+		<module type="driver" id="lufa.platform.xmega" caption="LUFA XMEGA Platform Drivers">
+			<device-support-alias value="lufa_xmega"/>
+
+			<info type="gui-flag" value="hidden"/>
+
+			<build type="doxygen-entry-point" value="Group_PlatformDrivers_XMEGA"/>
+
+			<build type="header-file" value="Platform/XMEGA/ClockManagement.h"/>
+		</module>
+	</asf>
+</lufa>

+ 43 - 43
tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_toolchain.xml

@@ -1,43 +1,43 @@
-<!--
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
--->
-
-<!-- Atmel Studio framework integration file -->
-
-<lufa>
-	<asf>
-		<select-by-device id="common.utils.toolchain_config" caption="Toolchain configuration defaults">
-			<module type="build-specific" id="common.utils.toolchain_config#avr" caption="Toolchain configuration defaults for 8-bit AVR">
-				<info type="gui-flag" value="hidden"/>
-				<device-support value="avr"/>
-
-				<toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.warnings.AllWarnings" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -fno-jump-tables" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avrgcc"/>
-				<toolchain-config name="avrgcc.linker.optimization.RelaxBranches" value="True" toolchain="avrgcc"/>
-			</module>
-		</select-by-device>
-
-		<module type="build-specific" id="common.utils.toolchain_config#uc3" caption="Toolchain configuration defaults for 32-bit AVR">
-			<info type="gui-flag" value="hidden"/>
-			<device-support value="uc3"/>
-
-			<toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.compiler.warnings.AllWarnings" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -mno-cond-exec-before-reload" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avr32gcc"/>
-			<toolchain-config name="avr32gcc.linker.optimization.RelaxBranches" value="True" toolchain="avr32gcc"/>
-		</module>
-	</asf>
-</lufa>
+<!--
+             LUFA Library
+     Copyright (C) Dean Camera, 2013.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+-->
+
+<!-- Atmel Studio framework integration file -->
+
+<lufa>
+	<asf>
+		<select-by-device id="common.utils.toolchain_config" caption="Toolchain configuration defaults">
+			<module type="build-specific" id="common.utils.toolchain_config#avr" caption="Toolchain configuration defaults for 8-bit AVR">
+				<info type="gui-flag" value="hidden"/>
+				<device-support value="avr"/>
+
+				<toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.warnings.AllWarnings" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -fno-jump-tables" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avrgcc"/>
+				<toolchain-config name="avrgcc.linker.optimization.RelaxBranches" value="True" toolchain="avrgcc"/>
+			</module>
+		</select-by-device>
+
+		<module type="build-specific" id="common.utils.toolchain_config#uc3" caption="Toolchain configuration defaults for 32-bit AVR">
+			<info type="gui-flag" value="hidden"/>
+			<device-support value="uc3"/>
+
+			<toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.compiler.warnings.AllWarnings" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -mno-cond-exec-before-reload" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avr32gcc"/>
+			<toolchain-config name="avr32gcc.linker.optimization.RelaxBranches" value="True" toolchain="avr32gcc"/>
+		</module>
+	</asf>
+</lufa>

+ 93 - 93
tmk_core/protocol/midi/Config/LUFAConfig.h

@@ -1,93 +1,93 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2012.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2012  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 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
- *  \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            {Insert Value Here}
-		#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
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2012.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+/*
+  Copyright 2012  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 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
+ *  \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            {Insert Value Here}
+		#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

+ 102 - 102
tmk_core/tool/chibios/ch-bootloader-jump.patch

@@ -3,114 +3,114 @@ index 51a79bb..42d07bd 100644
 --- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s
 +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s
 @@ -105,6 +105,13 @@
- #define CRT0_CALL_DESTRUCTORS               TRUE
- #endif
- 
-+/**
-+ * @brief   Magic number for jumping to bootloader.
-+ */
-+#if !defined(MAGIC_BOOTLOADER_NUMBER) || defined(__DOXYGEN__)
-+#define MAGIC_BOOTLOADER_NUMBER 0xDEADBEEF
-+#endif
-+
- /*===========================================================================*/
- /* Code section.                                                             */
- /*===========================================================================*/
+ #define CRT0_CALL_DESTRUCTORS               TRUE
+ #endif
+ 
++/**
++ * @brief   Magic number for jumping to bootloader.
++ */
++#if !defined(MAGIC_BOOTLOADER_NUMBER) || defined(__DOXYGEN__)
++#define MAGIC_BOOTLOADER_NUMBER 0xDEADBEEF
++#endif
++
+ /*===========================================================================*/
+ /* Code section.                                                             */
+ /*===========================================================================*/
 @@ -124,6 +131,17 @@
-                 .thumb_func
-                 .global Reset_Handler
- Reset_Handler:
-+
-+#ifdef STM32_BOOTLOADER_ADDRESS
-+                /* jump to bootloader code */
-+                ldr        r0, =__ram0_end__-4
-+                ldr        r1, =MAGIC_BOOTLOADER_NUMBER
-+                ldr        r2, [r0, #0]
-+                str        r0, [r0, #0] /* erase stored magic */
-+                cmp        r2, r1
-+                beq        Bootloader_Jump
-+#endif /* STM32_BOOTLOADER_ADDRESS */
-+
-                 /* Interrupts are globally masked initially.*/
-                 cpsid   i
- 
+                 .thumb_func
+                 .global Reset_Handler
+ Reset_Handler:
++
++#ifdef STM32_BOOTLOADER_ADDRESS
++                /* jump to bootloader code */
++                ldr        r0, =__ram0_end__-4
++                ldr        r1, =MAGIC_BOOTLOADER_NUMBER
++                ldr        r2, [r0, #0]
++                str        r0, [r0, #0] /* erase stored magic */
++                cmp        r2, r1
++                beq        Bootloader_Jump
++#endif /* STM32_BOOTLOADER_ADDRESS */
++
+                 /* Interrupts are globally masked initially.*/
+                 cpsid   i
+ 
 @@ -242,6 +260,21 @@ endfiniloop:
-                 ldr     r1, =__default_exit
-                 bx      r1
- 
-+#ifdef STM32_BOOTLOADER_ADDRESS
-+/*
-+ * Jump-to-bootloader function.
-+ */
-+
-+                .align  2
-+                .thumb_func
-+Bootloader_Jump:
-+                ldr     r0, =STM32_BOOTLOADER_ADDRESS
-+                ldr     r1, [r0, #0]
-+                mov     sp, r1
-+                ldr     r0, [r0, #4]
-+                bx      r0
-+#endif /* STM32_BOOTLOADER_ADDRESS */
-+
- #endif
- 
- /** @} */
+                 ldr     r1, =__default_exit
+                 bx      r1
+ 
++#ifdef STM32_BOOTLOADER_ADDRESS
++/*
++ * Jump-to-bootloader function.
++ */
++
++                .align  2
++                .thumb_func
++Bootloader_Jump:
++                ldr     r0, =STM32_BOOTLOADER_ADDRESS
++                ldr     r1, [r0, #0]
++                mov     sp, r1
++                ldr     r0, [r0, #4]
++                bx      r0
++#endif /* STM32_BOOTLOADER_ADDRESS */
++
+ #endif
+ 
+ /** @} */
 diff --git a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s
 index 4812a29..dca9f88 100644
 --- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s
 +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s
 @@ -140,6 +140,13 @@
- #define CRT0_CPACR_INIT                     0x00F00000
- #endif
- 
-+/**
-+ * @brief   Magic number for jumping to bootloader.
-+ */
-+#if !defined(MAGIC_BOOTLOADER_NUMBER) || defined(__DOXYGEN__)
-+#define MAGIC_BOOTLOADER_NUMBER 0xDEADBEEF
-+#endif
-+
- /*===========================================================================*/
- /* Code section.                                                             */
- /*===========================================================================*/
+ #define CRT0_CPACR_INIT                     0x00F00000
+ #endif
+ 
++/**
++ * @brief   Magic number for jumping to bootloader.
++ */
++#if !defined(MAGIC_BOOTLOADER_NUMBER) || defined(__DOXYGEN__)
++#define MAGIC_BOOTLOADER_NUMBER 0xDEADBEEF
++#endif
++
+ /*===========================================================================*/
+ /* Code section.                                                             */
+ /*===========================================================================*/
 @@ -164,6 +171,17 @@
-                 .thumb_func
-                 .global Reset_Handler
- Reset_Handler:
-+
-+#ifdef STM32_BOOTLOADER_ADDRESS
-+                /* jump to bootloader code */
-+                ldr        r0, =__ram0_end__-4
-+                ldr        r1, =MAGIC_BOOTLOADER_NUMBER
-+                ldr        r2, [r0, #0]
-+                str        r0, [r0, #0] /* erase stored magic */
-+                cmp        r2, r1
-+                beq        Bootloader_Jump
-+#endif /* STM32_BOOTLOADER_ADDRESS */
-+
-                 /* Interrupts are globally masked initially.*/
-                 cpsid   i
- 
+                 .thumb_func
+                 .global Reset_Handler
+ Reset_Handler:
++
++#ifdef STM32_BOOTLOADER_ADDRESS
++                /* jump to bootloader code */
++                ldr        r0, =__ram0_end__-4
++                ldr        r1, =MAGIC_BOOTLOADER_NUMBER
++                ldr        r2, [r0, #0]
++                str        r0, [r0, #0] /* erase stored magic */
++                cmp        r2, r1
++                beq        Bootloader_Jump
++#endif /* STM32_BOOTLOADER_ADDRESS */
++
+                 /* Interrupts are globally masked initially.*/
+                 cpsid   i
+ 
 @@ -305,6 +323,21 @@ endfiniloop:
-                 /* Branching to the defined exit handler.*/
-                 b       __default_exit
- 
-+#ifdef STM32_BOOTLOADER_ADDRESS
-+/*
-+ * Jump-to-bootloader function.
-+ */
-+
-+                .align  2
-+                .thumb_func
-+Bootloader_Jump:
-+                ldr     r0, =STM32_BOOTLOADER_ADDRESS
-+                ldr     r1, [r0, #0]
-+                mov     sp, r1
-+                ldr     r0, [r0, #4]
-+                bx      r0
-+#endif /* STM32_BOOTLOADER_ADDRESS */
-+
- #endif /* !defined(__DOXYGEN__) */
- 
- /** @} */
+                 /* Branching to the defined exit handler.*/
+                 b       __default_exit
+ 
++#ifdef STM32_BOOTLOADER_ADDRESS
++/*
++ * Jump-to-bootloader function.
++ */
++
++                .align  2
++                .thumb_func
++Bootloader_Jump:
++                ldr     r0, =STM32_BOOTLOADER_ADDRESS
++                ldr     r1, [r0, #0]
++                mov     sp, r1
++                ldr     r0, [r0, #4]
++                bx      r0
++#endif /* STM32_BOOTLOADER_ADDRESS */
++
+ #endif /* !defined(__DOXYGEN__) */
+ 
+ /** @} */