]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Merge pull request #1073 from qmk/backlight_changes
authorJack Humbert <jack.humb@gmail.com>
Fri, 10 Feb 2017 01:14:35 +0000 (20:14 -0500)
committerGitHub <noreply@github.com>
Fri, 10 Feb 2017 01:14:35 +0000 (20:14 -0500)
Open backlight functionality to all ports

16 files changed:
keyboards/ergodox/keymaps/ab/readme.md
keyboards/kc60/kc60.c
keyboards/kc60/led.c [deleted file]
keyboards/kc60/rules.mk
keyboards/lets_split/Makefile
keyboards/lets_split/eeprom-lefthand.eep
keyboards/lets_split/eeprom-righthand.eep
keyboards/lets_split/keymaps/i2c/config.h
keyboards/lets_split/keymaps/serial/config.h
keyboards/lets_split/readme.md
keyboards/lets_split/split_util.c
keyboards/planck/keymaps/bone2planck/Makefile
keyboards/planck/keymaps/bone2planck/config.h
keyboards/planck/keymaps/bone2planck/keymap.c
keyboards/planck/keymaps/bone2planck/readme.md
util/travis_build.sh

index 62e08e16296be356dc3a20facb4d8e3d682b8a16..4ad80efe6ff164513f38e4d61a08e3968d9acdf8 100644 (file)
@@ -8,7 +8,7 @@ Beginner's keymap emulates standard QWERTY keyboard for beginners. Once you get
 * Easy on beginners. It has everything you need for your day to day usage.
 
 #### Cons
-* Keys are not ergonomically placed to take full advantage of Ergodox-EZ. Take a look at this [Default Keymap](https://github.com/qmk/qmk_firmware/blob/master/keyboards/ergodox_ez/keymaps/default/readme.md)
+* Keys are not ergonomically placed to take full advantage of Ergodox-EZ. Take a look at this [Default Keymap](https://github.com/qmk/qmk_firmware/blob/master/keyboards/ergodox/keymaps/default/readme.md)
 * While multiple layers are possible, beginner's keymap only uses one additional layer for mouse, function and volume keys.
 
 #### Notes
index 746ac634a3dc2bc0219b3202b7656c468200da25..09b924b2865d3484999be28e45579bef5a10b91b 100644 (file)
@@ -1 +1,16 @@
 #include "kc60.h"
+
+void led_set_kb(uint8_t usb_led)
+{
+    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+        // output low
+        DDRB |= (1<<2);
+        PORTB &= ~(1<<2);
+    } else {
+        // Hi-Z
+        DDRB &= ~(1<<2);
+        PORTB &= ~(1<<2);
+    }
+
+     led_set_user(usb_led);
+}
\ No newline at end of file
diff --git a/keyboards/kc60/led.c b/keyboards/kc60/led.c
deleted file mode 100644 (file)
index 50659d7..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include <avr/io.h>
-#include "stdint.h"
-#include "led.h"
-
-
-void led_set(uint8_t usb_led)
-{
-    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
-        // output low
-        DDRB |= (1<<2);
-        PORTB &= ~(1<<2);
-    } else {
-        // Hi-Z
-        DDRB &= ~(1<<2);
-        PORTB &= ~(1<<2);
-    }
-}
\ No newline at end of file
index a935ed19ee8217427efec2b523028607f3ab0503..06bd5dc92b8c450dbb6201de4424b26c7e4f54fd 100644 (file)
@@ -1,6 +1,3 @@
-# project specific files
-SRC = led.c
-
 # MCU name
 #MCU = at90usb1287
 MCU = atmega32u4
index 4e2a6f00fd8ea2e3d2f25fa611a2cba9d6d98783..f5c87d4d65ea43c2f615dc0a854e609ee5945855 100644 (file)
@@ -1,3 +1,5 @@
+SUBPROJECT_DEFAULT = rev2
+
 ifndef MAKEFILE_INCLUDED
        include ../../Makefile
-endif
\ No newline at end of file
+endif
index a92200b124ae856913d6301b661219bc0dcc84b7..b9666a74c01f0481a2bb9ea3d8905dbc8cdcf9a9 100644 (file)
@@ -1,2 +1,2 @@
-:080000000000000000000001F7\r
+:0B0000000000000000000000000001F4\r
 :00000001FF\r
index 91a68317045af0d7715388812f89c64a2c39567b..94cc5be7fc684ef07d8412e5296e3708bc44a27d 100644 (file)
@@ -1,2 +1,2 @@
-:080000000000000000000000F8\r
+:0B0000000000000000000000000000F5\r
 :00000001FF\r
index 332c990fc5eb35bc342d15905c487a225909b285..013542731e04e4b3eb1ce4c924eb6723aa88b093 100644 (file)
@@ -16,8 +16,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #define USE_I2C
 
-#define I2C_MASTER_LEFT
-// #define I2C_MASTER_RIGHT
+#define MASTER_LEFT
+// #define _MASTER_RIGHT
+// #define EE_HANDS
 
 #ifdef SUBPROJECT_rev1
     #include "../../rev1/config.h"
@@ -27,4 +28,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #endif
 #ifdef SUBPROJECT_rev2fliphalf
        #include "../../rev2fliphalf/config.h"
-#endif
\ No newline at end of file
+#endif
index 0e59b191b87e377938de156522c3179f7686da78..ba271d1ac6c47f640a99b83f2f6bead5e7e779a8 100644 (file)
@@ -18,7 +18,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define USE_SERIAL
 
-#define EE_HANDS
+#define MASTER_LEFT
+// #define _MASTER_RIGHT
+// #define EE_HANDS
 
 
 #ifdef SUBPROJECT_rev1
@@ -29,4 +31,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #endif
 #ifdef SUBPROJECT_rev2fliphalf
        #include "../../rev2fliphalf/config.h"
-#endif
\ No newline at end of file
+#endif
index a63ce5907036d9234b7f5f260f9bd156f8bf4e55..ecce3f4152cf1b39498370f4cab51077fbffd48c 100644 (file)
@@ -6,9 +6,45 @@ This readme and most of the code are from https://github.com/ahtn/tmk_keyboard/
 Split keyboard firmware for Arduino Pro Micro or other ATmega32u4
 based boards.
 
+
+## First Time Setup
+
+Download or clone the whole firmware and navigate to the keyboards/lets_split directory. Once your dev env is setup, you'll be able to generate the default .hex using:
+
+```
+$ make rev2
+```
+
+You will see a lot of output and if everything worked correctly you will see the built hex files:
+
+```
+lets_split_rev2_serial.hex
+lets_split_rev2_i2c.hex
+```
+
+If you would like to use one of the alternative keymaps, or create your own, copy one of the existing [keymaps](keymaps/) and run make like so:
+
+
+```
+$ make rev2-YOUR_KEYMAP_NAME
+```
+
+If everything worked correctly you will see a file:
+
+```
+lets_split_rev2_YOUR_KEYMAP_NAME.hex
+```
+
+For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/readme.md##customizing-your-keymap) in the main readme.md.
+
+### Let's split 1.0
+If you have a first generation Let's Split you will need to use the revision 1 code. To do so, use `rev1` in all your commands instead.
+
 Features
 --------
 
+For the full Quantum Mechanical Keyboard feature list, see [the parent readme.md](/readme.md).
+
 Some features supported by the firmware:
 
 * Either half can connect to the computer via USB, or both halves can be used
@@ -62,7 +98,7 @@ unnecessary in simple use cases.
 Notes on Software Configuration
 -------------------------------
 
-Configuring the firmware is similar to any other TMK project. One thing
+Configuring the firmware is similar to any other QMK project. One thing
 to note is that `MATIX_ROWS` in `config.h` is the total number of rows between
 the two halves, i.e. if your split keyboard has 4 rows in each half, then
 `MATRIX_ROWS=8`.
@@ -70,37 +106,59 @@ the two halves, i.e. if your split keyboard has 4 rows in each half, then
 Also the current implementation assumes a maximum of 8 columns, but it would
 not be very difficult to adapt it to support more if required.
 
-
 Flashing
+-------
+From the keymap directory run `make SUBPROJECT-KEYMAP-avrdude` for automatic serial port resolution and flashing.
+Example: `make rev2-serial-avrdude`
+
+
+Choosing which board to plug the USB cable into (choosing Master)
 --------
+Because the two boards are identical, the firmware has logic to differentiate the left and right board.
 
-From the keymap directory run `make SUBPROJECT-KEYMAP-avrdude` for automatic serial port resolution and flashing.
+It uses two strategies to figure things out: look at the EEPROM (memory on the chip) or looks if the current board has the usb cable.
 
-Example: `make rev2-serial-avrdude`
+The EEPROM approach requires additional setup (flashing the eeeprom) but allows you to swap the usb cable to either side.
+
+The USB cable approach is easier to setup and if you just want the usb cable on the left board, you do not need to do anything extra.
 
+### Setting the left hand as master
+If you always plug the usb cable into the left board, nothing extra is needed as this is the default. Comment out `EE_HANDS` and comment out `I2C_MASTER_RIGHT` or `MASTER_RIGHT` if for some reason it was set.
+
+### Setting the right hand as master
+If you always plug the usb cable into the right board, add an extra flag to your `config.h`
+```
+ #define MASTER_RIGHT
+```
+
+### Setting EE_hands to use either hands as master
 If you define `EE_HANDS` in your `config.h`, you will need to set the
-EEPROM for the left and right halves. The EEPROM is used to store whether the
+EEPROM for the left and right halves.
+
+The EEPROM is used to store whether the
 half is left handed or right handed. This makes it so that the same firmware
 file will run on both hands instead of having to flash left and right handed
 versions of the firmware to each half. To flash the EEPROM file for the left
 half run:
 ```
-make eeprom-left
+avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:eeprom-lefthand.eep
+// or the equivalent in dfu-programmer
+
 ```
 and similarly for right half
 ```
-make eeprom-right
+avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:eeprom-righhand.eep
+// or the equivalent in dfu-programmer
 ```
 
-After you have flashed the EEPROM for the first time, you then need to program
-the flash memory:
-```
-make program
-```
+NOTE: replace `$(COM_PORT)` with the port of your device (e.g. `/dev/ttyACM0`)
+
+After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash.
+
 Note that you need to program both halves, but you have the option of using
 different keymaps for each half. You could program the left half with a QWERTY
-layout and the right half with a Colemak layout. Then if you connect the left
-half to a computer by USB the keyboard will use QWERTY and Colemak when the
+layout and the right half with a Colemak layout using bootmagic's default layout option.
+Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the
 right half is connected.
 
 
index 461921798f912215ac8b48173e424c9e641d39bd..226dc1881631003342c2f0874d968ef352a62908 100644 (file)
@@ -21,7 +21,8 @@ static void setup_handedness(void) {
   #ifdef EE_HANDS
     isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS);
   #else
-    #ifdef I2C_MASTER_RIGHT
+    // I2C_MASTER_RIGHT is deprecated use MASTER_RIGHT instead since this works for both serial and i2c
+    #if defined(I2C_MASTER_RIGHT) || defined(MASTER_RIGHT)
       isLeftHand = !has_usb();
     #else
       isLeftHand = has_usb();
index cf2c31f0fb5fddcacec28824e262e4a787696ca7..39635192e5cae79cd9a2516231f3304ca186d4a7 100644 (file)
@@ -1,20 +1,16 @@
-# Please remove if no longer applicable
-$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
-$(warning Please disable some options in the Makefile to resolve)
-
 # Build Options
-#   change to "no" to disable the options, or define them in the Makefile in 
+#   change to "no" to disable the options, or define them in the Makefile in
 #   the appropriate keymap folder that will get included automatically
 #
 BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
+MOUSEKEY_ENABLE = no       # Mouse keys(+4700)
 EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
 CONSOLE_ENABLE = no         # Console for debug(+400)
-COMMAND_ENABLE = yes        # Commands for debug and configuration
+COMMAND_ENABLE = no        # Commands for debug and configuration
 NKRO_ENABLE = yes            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
+BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
 MIDI_ENABLE = no            # MIDI controls
-AUDIO_ENABLE = yes           # Audio output on port C6
+AUDIO_ENABLE = no           # Audio output on port C6
 UNICODE_ENABLE = no         # Unicode
 BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
index 60aff6db0dfe6c6d89c27ca76839610004c4f5fc..3e9e692d3cace46b2fe1d394d14df99d171f9c62 100644 (file)
@@ -1,7 +1,8 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
-#endif
 
 #include "../../config.h"
 
-#define PREVENT_STUCK_MODIFIERS
\ No newline at end of file
+#define PREVENT_STUCK_MODIFIERS
+
+#endif
\ No newline at end of file
index 69d164b8c7a4d8a1b37d2de5bca51944bf0da27e..5f77acf91d2ba6dfd8d4a72a17249cd700e88cb7 100644 (file)
@@ -7,11 +7,12 @@
 // for intellisense, has to be commented for building
 /*
 #include "..\..\..\..\quantum\keymap_extras\keymap_german.h"
-#include "..\..\..\..\quantum\keymap_common.h"
 #include "..\..\..\..\tmk_core\common\keycode.h"
 */
 
+
 #define _______ KC_TRNS
+#define XXXXXXX KC_NO
 
 /* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout.
 It has "üäöß" as it is optimized for a mix of German & English.
@@ -23,11 +24,11 @@ Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-/* Bone2
+/* Bone2 (adapted)
 * ,-----------------------------------------------------------------------------------.
-* | Q    |   J  |   D  |   U  |   A  |   X  |   P  |   H  |   L  |   M  |   W  |  ẞ   |
+* | ß    |   J  |   D  |   U  |   A  |   X  |   P  |   H  |   L  |   M  |   W  |  Q   |
 * |------+------+------+------+------+-------------+------+------+------+------+------|
-* |M1/Tab|   C  |   T  |   I  |   E  |   O  |   B  |   N  |   R  |   S  |   G  |M1/Ent|  //hold for M1, tap for Tab/Enter
+* |  M1  |   C  |   T  |   I  |   E  |   O  |   B  |   N  |   R  |   S  |   G  |M1/Ent|  //hold for M1, tap for Enter
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 * | Shift|   F  |   V  |   Ü  |   Ä  |   Ö  |   Y  |   Z  |   ,  |   .  |   K  |Shift |
 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -35,20 +36,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 * `-----------------------------------------------------------------------------------'
 */
 [0] = {
-       { DE_Q,         DE_J,    DE_D,    DE_U,  DE_A,  DE_X,   DE_P,   DE_H,  DE_L,    DE_M,    DE_W,    DE_SS        },
-       { LT(1,KC_TAB), DE_C,    DE_T,    DE_I,  DE_E,  DE_O,   DE_B,   DE_N,  DE_R,    DE_S,    DE_G,    LT(1,KC_ENT) },
+       { DE_SS,        DE_J,    DE_D,    DE_U,  DE_A,  DE_X,   DE_P,   DE_H,  DE_L,    DE_M,    DE_W,    DE_Q         },
+       //{ LT(1,KC_TAB), DE_C,    DE_T,    DE_I,  DE_E,  DE_O,   DE_B,   DE_N,  DE_R,    DE_S,    DE_G,    LT(1,KC_ENT) },
+       { MO(1),        DE_C,    DE_T,    DE_I,  DE_E,  DE_O,   DE_B,   DE_N,  DE_R,    DE_S,    DE_G,    LT(1,KC_ENT) },
        { KC_LSFT,      DE_F,    DE_V,    DE_UE, DE_AE, DE_OE,  DE_Y,   DE_Z,  DE_COMM, DE_DOT,  DE_K,    KC_LSFT      },
        { KC_LCTL,      KC_RGUI, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4),   KC_RALT, KC_ESC,  KC_RCTL      }
 },
 
 /* M1 Special Characters
-very ergonomic placement for coding
+*  very ergonomic placement for coding
 * ,-----------------------------------------------------------------------------------.
 * | °    |   @  |   _  |   [  |   ]  |   ^  |   !  |   <  |   >  |   =  |   &  |  ´   |
 * |------+------+------+------+------+-------------+------+------+------+------+------|
-* |M1/Tab|   \  |   /  |   {  |   }  |   *  |   ?  |   (  |   )  |   -  |   :  |M1/Ent|  //hold for M1, tap for Tab/Enter
+* |  M1  |   \  |   /  |   {  |   }  |   *  |   ?  |   (  |   )  |   -  |   :  |M1/Ent|  //hold for M1, tap for Enter
 * |------+------+------+------+------+------|------+------+------+------+------+------|
-* | Shift|   #  |   $  |   |  |   ~  |   €  |   +  |   %  |   "  |   '  |   ;  |Shift |
+* | Shift|   #  |   ~  |   |  |   $  |   €  |   +  |   %  |   "  |   '  |   ;  |Shift |
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 * | Ctrl | GUI  | Alt  |  M4  |  M2  |    Space    |  M2  |  M4  | Alt  | Esc  | Ctrl |
 * `-----------------------------------------------------------------------------------'
@@ -56,56 +58,55 @@ very ergonomic placement for coding
 [1] = {
        { DE_RING, DE_AT,   DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LESS, DE_MORE, DE_EQL,  DE_AMPR, DE_ACUT },
        { _______, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QST,  DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, _______ },
-       { _______, DE_HASH, DE_DLR,  DE_PIPE, DE_TILD, DE_EURO, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, _______ },
+       { _______, DE_HASH, DE_TILD, DE_PIPE, DE_DLR,  DE_EURO, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, _______ },
        { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
 },
 
-/* Navigation & Number Blocks
-very easy to get used to & intuituve placement
+/* M2 Navigation & Number Blocks
+*  very easy to get used to & intuituve placement
 * ,-----------------------------------------------------------------------------------.
 * |      | PgUp | Bksp |  Up  |  DEL | PgDn |      |   7  |   8  |   9  |      | Ins  |
 * |------+------+------+------+------+-------------+------+------+------+------+------|
-* |  Tab | Home |  Lft | Down | Right| End  |   .  |   4  |   5  |   6  |   ,  | Enter|
+* |  Tab | Home |  Lft | Down | Right| End  |      |   4  |   5  |   6  |   .  | Enter|
 * |------+------+------+------+------+------|------+------+------+------+------+------|
-* | Shift|      |  Tab |      | Enter|      |   0  |   1  |   2  |   3  |   ;  |Shift |
+* | Shift|      |  Tab |      | Enter|      |   0  |   1  |   2  |   3  |   ,  |Shift |
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 * | Ctrl | GUI  | Alt  |  M3  |  M2  |    Space    |  M2  |  M3  | Alt  | Esc  | Ctrl |
 * `-----------------------------------------------------------------------------------'
 */
 [2] = {
-       { KC_NO,   KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN, KC_NO,   DE_7,    DE_8,  DE_9,    KC_NO,   KC_INS  },
-       { KC_TAB,  KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,  DE_DOT,  DE_4,    DE_5,  DE_6,    DE_COMM, KC_ENT  },
-       { _______, KC_NO,   KC_TAB,  KC_NO,   KC_ENT,  KC_NO,   DE_0,    DE_1,    DE_2,  DE_3,    DE_SCLN, _______ },
+       { XXXXXXX, KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN, XXXXXXX, DE_7,    DE_8,  DE_9,    XXXXXXX, KC_INS  },
+       { KC_TAB,  KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,  XXXXXXX, DE_4,    DE_5,  DE_6,    DE_DOT,  KC_ENT  },
+       { _______, XXXXXXX, KC_TAB,  XXXXXXX, KC_ENT,  XXXXXXX, DE_0,    DE_1,    DE_2,  DE_3,    DE_COMM, _______ },
        { _______, _______, _______, MO(3),   _______, _______, _______, _______, MO(3), _______, _______, _______ }
 },
 
-/* Flipped Navigation & Number Blocks for one handed use
-accessed by sliding from M2 to M3 with thumb
+/* M3 Switched Navigation & Number Blocks for one handed use
+*  accessed by sliding from M2 to M3 with thumb
 * ,-----------------------------------------------------------------------------------.
-* | Ins  |      |  7   |  8   |  9   |      | PgUp | Bksp |  Up  |  DEL | PgDn |      |
+* |  Ins |      |  7   |  8   |  9   |      | PgUp | Bksp |  Up  |  DEL | PgDn |      |
 * |------+------+------+------+------+-------------+------+------+------+------+------|
-* |  Tab |  .   |  4   |  5   |  6   |   ,  | Home | Left | Down | Right| End  | Enter|
+* |  Tab |      |  4   |  5   |  6   |   .  | Home | Left | Down | Right| End  | Enter|
 * |------+------+------+------+------+------|------+------+------+------+------+------|
-* | Shift|  0   |  1   |  2   |  3   |   ;  |      | Tab  |  Ins | Enter|      |Shift |
+* | Shift|  0   |  1   |  2   |  3   |   ,  |      | Tab  |      | Enter|      |Shift |
 * |------+------+------+------+------+------+------+------+------+------+------+------|
 * | Ctrl | GUI  | Alt  |  M3  |      |    Space    |      |  M3  | Alt  | Esc  | Ctrl |
 * `-----------------------------------------------------------------------------------'
 */
 
 [3] = {
-       { KC_INS,   KC_NO,   DE_7,    DE_8,    DE_9,  KC_NO,   KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN, KC_NO   },
-       { _______, DE_DOT,  DE_4,    DE_5,    DE_6,  DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,  _______ },
-       { _______, DE_0,    DE_1,    DE_2,    DE_3,  DE_SCLN, KC_NO,   KC_TAB,  KC_INS,  KC_ENT,  KC_NO,   _______ },
-       { _______, _______, _______, _______, KC_NO, _______, _______, KC_NO,   _______, _______, _______, _______ }
+       { KC_INS,  XXXXXXX, DE_7,    DE_8,    DE_9,    XXXXXXX, KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN, XXXXXXX },
+       { _______, XXXXXXX, DE_4,    DE_5,    DE_6,    DE_DOT,  KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,  _______ },
+       { _______, DE_0,    DE_1,    DE_2,    DE_3,    DE_COMM, XXXXXXX, KC_TAB,  XXXXXXX, KC_ENT,  XXXXXXX, _______ },
+       { _______, _______, _______, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______ }
 },
 
 
-/* Function & Media Keys
-slide from m4 to m5 to access flipped version
+/* M4 Function & Media Keys
 * ,-----------------------------------------------------------------------------------.
 * |      |      | Print|Scroll|Pause |      |      |  F7  |  F8  |  F9  |  F12 |      |
 * |------+------+------+------+------+-------------+------+------+------+------+------|
-* |      |      | Mute | Vol- | Vol+ |      |   ³  |  F4  |  F5  |  F6  |  F11 |      |
+* | Tab  |      | Mute | Vol- | Vol+ |      |   ³  |  F4  |  F5  |  F6  |  F11 | Enter|
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 * | Shift|      | Prev | Play | Next |      |   ²  |  F1  |  F2  |  F3  |  F10 |Shift |
 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -113,18 +114,19 @@ slide from m4 to m5 to access flipped version
 * `-----------------------------------------------------------------------------------'
 */
 [4] = {
-       { KC_NO,   KC_NO,   KC_PSCR, KC_SLCK, KC_PAUS, KC_NO,   KC_NO,   KC_F7, KC_F8,   KC_F9,   KC_F12,  KC_NO   },
-       { KC_NO,   KC_NO,   KC_MUTE, KC_VOLD, KC_VOLU, KC_NO,   DE_SQ3,  KC_F4, KC_F5,   KC_F6,   KC_F11,  KC_NO   },
-       { _______, KC_NO,   KC_MPRV, KC_MPLY, KC_MNXT, KC_NO,   DE_SQ2,  KC_F1, KC_F2,   KC_F3,   KC_F10,  _______ },
+       { XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX, KC_F7, KC_F8,   KC_F9,   KC_F12,  XXXXXXX },
+       { KC_TAB,  XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, DE_SQ3,  KC_F4, KC_F5,   KC_F6,   KC_F11,  KC_ENT  },
+       { _______, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, DE_SQ2,  KC_F1, KC_F2,   KC_F3,   KC_F10,  _______ },
        { _______, _______, _______, _______, MO(5),   _______, _______, MO(5), _______, _______, _______, _______ }
 },
 
 
-/* flipped Function & Media Keys
+/* M5 Switched Function & Media Keys|
+*  accessed by sliding from M4 to M5 with thumb
 * ,-----------------------------------------------------------------------------------.
 * |      |      |  F7  |  F8  |  F9  |  F12 |      | Print|Scroll| Pause|      |      |
 * |------+------+------+------+------+-------------+------+------+------+------+------|
-* |      |  ³   |  F4  |  F5  |  F6  |  F11 |      | Mute | Vol- | Vol+ |      |      |
+* | Tab  |  ³   |  F4  |  F5  |  F6  |  F11 |      | Mute | Vol- | Vol+ |      | Enter|
 * |------+------+------+------+------+------|------+------+------+------+------+------|
 * | Shift|  ²   |  F1  |  F2  |  F3  |  F10 |      | Prev | Play | Next |      |Shift |
 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -132,13 +134,14 @@ slide from m4 to m5 to access flipped version
 * `-----------------------------------------------------------------------------------'
 */
 [5] = {
-       { KC_NO,   KC_NO,   KC_F7,   KC_F8, KC_F9,   KC_F12,  KC_NO,   KC_PSCR, KC_SLCK, KC_PAUS, KC_NO,   KC_NO   },
-       { KC_NO,   DE_SQ3,  KC_F4,   KC_F5, KC_F6,   KC_F11,  KC_NO,   KC_MUTE, KC_VOLD, KC_VOLU, KC_NO,   KC_NO   },
-       { _______, DE_SQ2,  KC_F1,   KC_F2, KC_F3,   KC_F10,  KC_NO,   KC_MPRV, KC_MPLY, KC_MNXT, KC_NO,   _______ },
-       { _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO,   _______, _______, _______ }
+       { XXXXXXX, XXXXXXX, KC_F7,   KC_F8,   KC_F9,   KC_F12,  XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX },
+       { _______, DE_SQ3,  KC_F4,   KC_F5,   KC_F6,   KC_F11,  XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, _______ },
+       { _______, DE_SQ2,  KC_F1,   KC_F2,   KC_F3,   KC_F10,  XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, _______ },
+       { _______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______ }
 }
 };
 
+
 const uint16_t PROGMEM fn_actions[] = {
 
 };
index 3c425efddb1f66d36b7fbc53ef872aaae5857c76..0d053bb17ba3d863642359ea96a7eea3b7834950 100644 (file)
@@ -1,8 +1,96 @@
-check keymap.c to the layers
+Bone2Planck
+=====================================
 
-This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout.
+This layout tries to emulate the Bone2 variant of Neo2, and is intended to be used with a German QWERTZ softwarelayout.
 It has "üäöß" as it is optimized for a mix of German & English.
-My favourite features are the placement of the special characters often used for programming right on the home row
-and the number & navigation block combo, so you never have to move your hands from their home position.
+The special character layer and the navigation & number block layer are inspired by the Neo2 layers,
+designed to keep the fingers near the home row.
 
-Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone
\ No newline at end of file
+Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone
+
+To build, run "make" from within the \bone2planck folder.
+
+## Bone2 (adapted) Base Layer
+```
+ ,-----------------------------------------------------------------------------------.
+ |  ß   |   J  |   D  |   U  |   A  |   X  |   P  |   H  |   L  |   M  |   W  |  Q   |
+ |------+------+------+------+------+-------------+------+------+------+------+------|
+ |  M1  |   C  |   T  |   I  |   E  |   O  |   B  |   N  |   R  |   S  |   G  |M1/Ent|  hold for M1, tap for Enter
+ |------+------+------+------+------+------|------+------+------+------+------+------|
+ | Shift|   F  |   V  |   Ü  |   Ä  |   Ö  |   Y  |   Z  |   ,  |   .  |   K  |Shift |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Ctrl | GUI  | Alt  |  M4  |  M2  |    Space    |  M2  |  M4  | Alt  | Esc  | Ctrl |
+ `-----------------------------------------------------------------------------------'
+```
+
+## M1 Special Characters
+  very ergonomic placement for coding
+```
+ ,-----------------------------------------------------------------------------------.
+ |  °   |   @  |   _  |   [  |   ]  |   ^  |   !  |   <  |   >  |   =  |   &  |  ´   |
+ |------+------+------+------+------+-------------+------+------+------+------+------|
+ |  M1  |   \  |   /  |   {  |   }  |   *  |   ?  |   (  |   )  |   -  |   :  |M1/Ent|  hold for M1, tap for Enter
+ |------+------+------+------+------+------|------+------+------+------+------+------|
+ | Shift|   #  |   ~  |   |  |   $  |   €  |   +  |   %  |   "  |   '  |   ;  |Shift |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Ctrl | GUI  | Alt  |  M4  |  M2  |    Space    |  M2  |  M4  | Alt  | Esc  | Ctrl |
+ `-----------------------------------------------------------------------------------'
+```
+
+## M2 Navigation & Number Blocks
+  very easy to get used to & intuituve placement
+```
+ ,-----------------------------------------------------------------------------------.
+ |      | PgUp | Bksp |  Up  |  DEL | PgDn |      |   7  |   8  |   9  |      | Ins  |
+ |------+------+------+------+------+-------------+------+------+------+------+------|
+ |  Tab | Home |  Lft | Down | Right| End  |      |   4  |   5  |   6  |   .  | Enter|
+ |------+------+------+------+------+------|------+------+------+------+------+------|
+ | Shift|      |  Tab |      | Enter|      |   0  |   1  |   2  |   3  |   ,  |Shift |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Ctrl | GUI  | Alt  |  M3  |  M2  |    Space    |  M2  |  M3  | Alt  | Esc  | Ctrl |
+ `-----------------------------------------------------------------------------------'
+```
+
+## M4 Function & Media Keys
+```
+ ,-----------------------------------------------------------------------------------.
+ |      |      | Print|Scroll|Pause |      |      |  F7  |  F8  |  F9  |  F12 |      |
+ |------+------+------+------+------+-------------+------+------+------+------+------|
+ |      |      | Mute | Vol- | Vol+ |      |   ³  |  F4  |  F5  |  F6  |  F11 |      |
+ |------+------+------+------+------+------|------+------+------+------+------+------|
+ | Shift|      | Prev | Play | Next |      |   ²  |  F1  |  F2  |  F3  |  F10 |Shift |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Ctrl | GUI  | Alt  |  M4  |  M5  |    Space    |  M5  |  M4  | Alt  | Esc  | Ctrl |
+ `-----------------------------------------------------------------------------------'
+```
+
+
+##Switched layers for one handed access:
+
+### M3 Switched Navigation & Number Blocks
+  accessed by sliding from M2 to M3 with thumb
+```
+ ,-----------------------------------------------------------------------------------.
+ | Ins  |      |  7   |  8   |  9   |      | PgUp | Bksp |  Up  |  DEL | PgDn |      |
+ |------+------+------+------+------+-------------+------+------+------+------+------|
+ |  Tab |      |  4   |  5   |  6   |   .  | Home | Left | Down | Right| End  | Enter|
+ |------+------+------+------+------+------|------+------+------+------+------+------|
+ | Shift|  0   |  1   |  2   |  3   |   ,  |      | Tab  |      | Enter|      |Shift |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Ctrl | GUI  | Alt  |  M3  |      |    Space    |      |  M3  | Alt  | Esc  | Ctrl |
+ `-----------------------------------------------------------------------------------'
+```
+
+### M5 Switched Function & Media Keys
+  accessed by sliding from M4 to M5 with thumb
+```
+ ,-----------------------------------------------------------------------------------.
+ |      |      |  F7  |  F8  |  F9  |  F12 |      | Print|Scroll| Pause|      |      |
+ |------+------+------+------+------+-------------+------+------+------+------+------|
+ |      |  ³   |  F4  |  F5  |  F6  |  F11 |      | Mute | Vol- | Vol+ |      |      |
+ |------+------+------+------+------+------|------+------+------+------+------+------|
+ | Shift|  ²   |  F1  |  F2  |  F3  |  F10 |      | Prev | Play | Next |      |Shift |
+ |------+------+------+------+------+------+------+------+------+------+------+------|
+ | Ctrl | GUI  | Alt  |      |  M5  |    Space    |  M5  |      | Alt  | Esc  | Ctrl |
+ `-----------------------------------------------------------------------------------'
+```
\ No newline at end of file
index 794b0d3a165ceeb92009454fcb58f58282769af4..2d43f3e5e99897afd3e8e68e4774efaf7d83ac6c 100644 (file)
@@ -11,7 +11,7 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
                make all-keyboards AUTOGEN="true"
                : $((exit_code = $exit_code + $?))
        else
-               MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z_]+)' | sort -u)
+               MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_]+)' | sort -u)
                for KB in $MKB ; do
                        echo "Making all keymaps for $KB"
                        make "$KB" AUTOGEN=true