diff options
-rw-r--r-- | keyboards/ergodox/keymaps/ab/readme.md | 2 | ||||
-rw-r--r-- | keyboards/planck/keymaps/bone2planck/Makefile | 14 | ||||
-rw-r--r-- | keyboards/planck/keymaps/bone2planck/config.h | 5 | ||||
-rw-r--r-- | keyboards/planck/keymaps/bone2planck/keymap.c | 79 | ||||
-rw-r--r-- | keyboards/planck/keymaps/bone2planck/readme.md | 98 | ||||
-rw-r--r-- | quantum/quantum.c | 94 | ||||
-rw-r--r-- | util/travis_build.sh | 2 |
7 files changed, 206 insertions, 88 deletions
diff --git a/keyboards/ergodox/keymaps/ab/readme.md b/keyboards/ergodox/keymaps/ab/readme.md index 62e08e1629..4ad80efe6f 100644 --- a/keyboards/ergodox/keymaps/ab/readme.md +++ b/keyboards/ergodox/keymaps/ab/readme.md @@ -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 diff --git a/keyboards/planck/keymaps/bone2planck/Makefile b/keyboards/planck/keymaps/bone2planck/Makefile index cf2c31f0fb..39635192e5 100644 --- a/keyboards/planck/keymaps/bone2planck/Makefile +++ b/keyboards/planck/keymaps/bone2planck/Makefile @@ -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. diff --git a/keyboards/planck/keymaps/bone2planck/config.h b/keyboards/planck/keymaps/bone2planck/config.h index 60aff6db0d..3e9e692d3c 100644 --- a/keyboards/planck/keymaps/bone2planck/config.h +++ b/keyboards/planck/keymaps/bone2planck/config.h @@ -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 diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 69d164b8c7..5f77acf91d 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -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[] = { }; diff --git a/keyboards/planck/keymaps/bone2planck/readme.md b/keyboards/planck/keymaps/bone2planck/readme.md index 3c425efddb..be22eabdb9 100644 --- a/keyboards/planck/keymaps/bone2planck/readme.md +++ b/keyboards/planck/keymaps/bone2planck/readme.md @@ -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: M1, tap: 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: M1, tap: 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 | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | Tab | | Mute | Vol- | Vol+ | | ³ | F4 | F5 | F6 | F11 | Enter| + |------+------+------+------+------+------|------+------+------+------+------+------| + | 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| | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | Tab | ³ | F4 | F5 | F6 | F11 | | Mute | Vol- | Vol+ | | Enter| + |------+------+------+------+------+------|------+------+------+------+------+------| + | Shift| ² | F1 | F2 | F3 | F10 | | Prev | Play | Next | |Shift | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Ctrl | GUI | Alt | | M5 | Space | M5 | | Alt | Esc | Ctrl | + `-----------------------------------------------------------------------------------' +```
\ No newline at end of file diff --git a/quantum/quantum.c b/quantum/quantum.c index d3905decf2..45ea8cb73c 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -594,34 +594,45 @@ static const uint8_t backlight_pin = BACKLIGHT_PIN; # define COM1x1 COM1A1 # define OCR1x OCR1A #else -# error "Backlight pin not supported - use B5, B6, or B7" +# define NO_BACKLIGHT_CLOCK +#endif + +#ifndef BACKLIGHT_ON_STATE +#define BACKLIGHT_ON_STATE 0 #endif __attribute__ ((weak)) void backlight_init_ports(void) { - // Setup backlight pin as output and output low. + // Setup backlight pin as output and output to on state. // DDRx |= n _SFR_IO8((backlight_pin >> 4) + 1) |= _BV(backlight_pin & 0xF); - // PORTx &= ~n - _SFR_IO8((backlight_pin >> 4) + 2) &= ~_BV(backlight_pin & 0xF); + #if BACKLIGHT_ON_STATE == 0 + // PORTx &= ~n + _SFR_IO8((backlight_pin >> 4) + 2) &= ~_BV(backlight_pin & 0xF); + #else + // PORTx |= n + _SFR_IO8((backlight_pin >> 4) + 2) |= _BV(backlight_pin & 0xF); + #endif - // Use full 16-bit resolution. - ICR1 = 0xFFFF; + #ifndef NO_BACKLIGHT_CLOCK + // Use full 16-bit resolution. + ICR1 = 0xFFFF; - // I could write a wall of text here to explain... but TL;DW - // Go read the ATmega32u4 datasheet. - // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on + // I could write a wall of text here to explain... but TL;DW + // Go read the ATmega32u4 datasheet. + // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on - // Pin PB7 = OCR1C (Timer 1, Channel C) - // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0 - // (i.e. start high, go low when counter matches.) - // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0 - // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1 + // Pin PB7 = OCR1C (Timer 1, Channel C) + // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0 + // (i.e. start high, go low when counter matches.) + // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0 + // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1 - TCCR1A = _BV(COM1x1) | _BV(WGM11); // = 0b00001010; - TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; + TCCR1A = _BV(COM1x1) | _BV(WGM11); // = 0b00001010; + TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; + #endif backlight_init(); #ifdef BACKLIGHT_BREATHING @@ -633,24 +644,43 @@ __attribute__ ((weak)) void backlight_set(uint8_t level) { // Prevent backlight blink on lowest level - // PORTx &= ~n - _SFR_IO8((backlight_pin >> 4) + 2) &= ~_BV(backlight_pin & 0xF); + #if BACKLIGHT_ON_STATE == 0 + // PORTx &= ~n + _SFR_IO8((backlight_pin >> 4) + 2) &= ~_BV(backlight_pin & 0xF); + #else + // PORTx |= n + _SFR_IO8((backlight_pin >> 4) + 2) |= _BV(backlight_pin & 0xF); + #endif if ( level == 0 ) { - // Turn off PWM control on backlight pin, revert to output low. - TCCR1A &= ~(_BV(COM1x1)); - OCR1x = 0x0; - } else if ( level == BACKLIGHT_LEVELS ) { - // Turn on PWM control of backlight pin - TCCR1A |= _BV(COM1x1); - // Set the brightness - OCR1x = 0xFFFF; - } else { - // Turn on PWM control of backlight pin - TCCR1A |= _BV(COM1x1); - // Set the brightness - OCR1x = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2)); - } + #ifndef NO_BACKLIGHT_CLOCK + // Turn off PWM control on backlight pin, revert to output low. + TCCR1A &= ~(_BV(COM1x1)); + OCR1x = 0x0; + #else + #if BACKLIGHT_ON_STATE == 0 + // PORTx |= n + _SFR_IO8((backlight_pin >> 4) + 2) |= _BV(backlight_pin & 0xF); + #else + // PORTx &= ~n + _SFR_IO8((backlight_pin >> 4) + 2) &= ~_BV(backlight_pin & 0xF); + #endif + #endif + } + #ifndef NO_BACKLIGHT_CLOCK + else if ( level == BACKLIGHT_LEVELS ) { + // Turn on PWM control of backlight pin + TCCR1A |= _BV(COM1x1); + // Set the brightness + OCR1x = 0xFFFF; + } + else { + // Turn on PWM control of backlight pin + TCCR1A |= _BV(COM1x1); + // Set the brightness + OCR1x = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2)); + } + #endif #ifdef BACKLIGHT_BREATHING breathing_intensity_default(); diff --git a/util/travis_build.sh b/util/travis_build.sh index 2d43f3e5e9..6bafd1941f 100644 --- a/util/travis_build.sh +++ b/util/travis_build.sh @@ -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-Z0-9_]+)' | 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 |