diff options
| -rw-r--r-- | keyboards/ergodox/keymaps/algernon/NEWS.md | 145 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/algernon/images/adore-layer.png | bin | 97225 -> 97089 bytes | |||
| -rw-r--r-- | keyboards/ergodox/keymaps/algernon/images/steno-layer.png | bin | 69557 -> 64086 bytes | |||
| -rw-r--r-- | keyboards/ergodox/keymaps/algernon/keymap.c | 41 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/algernon/readme.md | 133 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.ADORE.json | 27 | ||||
| -rwxr-xr-x | keyboards/ergodox/keymaps/algernon/tools/hid-commands | 12 | ||||
| -rwxr-xr-x | keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py | 5 | ||||
| -rwxr-xr-x | keyboards/ergodox/keymaps/algernon/tools/text-to-log.py | 24 | ||||
| -rw-r--r-- | keyboards/hhkb/keymaps/dbroqua/keymap.c | 48 | ||||
| -rw-r--r-- | keyboards/planck/keymaps/callum/keymap.c | 82 | ||||
| -rw-r--r-- | quantum/process_keycode/process_unicode.c | 1 | 
12 files changed, 254 insertions, 264 deletions
| diff --git a/keyboards/ergodox/keymaps/algernon/NEWS.md b/keyboards/ergodox/keymaps/algernon/NEWS.md new file mode 100644 index 0000000000..6b95c1ef43 --- /dev/null +++ b/keyboards/ergodox/keymaps/algernon/NEWS.md @@ -0,0 +1,145 @@ +## v1.8 + +*2016-10-03* + +### ADORE + +* Major rearrangements were made, to reduce pinky use, and to balance out the hand usage. + +### Tools + +* The `hid-commands` tool will now display a notification when the **AppSel** layer is triggered. +* The `log-to-heatmap.py` tool now treats the innermost keys on the bottom row as thumb keys, as far as statistics are concerned. + +### Miscellaneous + +* Fixed the [Steno](#steno-layer) toggle key. + +## v1.7 + +*2016-09-18* + +### Overall changes + +* The number row has been completely rearranged on both the [Base](#base-layer) and the [ADORE](#adore-layer) layers. +* The number/function key behavior was changed: function keys are now on the **Media**. +* The `:`/`;` and `-`/`_` keys were put back to their thumb position on the bottom row, on both the [Base](#base-layer) and [ADORE](#adore-layer) layers. +* The bottom large keys on the inner side of each half now function as [tmux](http://tmux.github.io/) keys: the left to send the prefix, the right to send the `display-panes` key. The left also doubles as a GNU screen prefix key, and sends `C-a` when double tapped. +* A number of functions, such as the **AppSel** layer, now require the `hid-commands` tool to be running, with the output of `hid_listen` being piped to it. + +### ADORE + +* `Y` and `X` have been swapped again. + +### Media/Navigation layer + +* The function keys are now on this layer. +* Mouse keys have been removed. +* Media start/stop/prev/next have been removed. +* `Print screen` has been removed. +* There is only one screen lock key now. + +### Heatmap + +* Fixed a few issues in the finger-stats calculation. +* The tool now also timestamps and saves all input lines to a logfile, which it loads on start, allowing one to continue the collection after upgrading the tool. +* The heatmap tool will now colorize the stats by default. +* The periodic stats are now printed in a more compact format. + +### Tools + +* Added a new tool, `tools/layer-notify` that listens to layer change events on the HID console, and pops up a notification on layer changes. +* Another new tool, `tools/text-to-log.py` has been added that converts arbitrary text to a keylogger output, which can be fed to the heatmap generator. +* A number of features have been moved to the `tools/hid-commands` utility. These generally are OS dependent, and are easier to implement on the software side. + +## v1.6 + +*2016-08-24* + +### Base layer changes + +* The parentheses & bracket keys have been merged: tapping them results in `[` or `{` (if it was shifted), double tapping leads to `(`. +* The `:;` and `-_` keys are now available on the base layer, on their [ADORE](#adore-layer) location, too, just below `[{(`/`]})`. +* The `Apps` key has been replaced by `F12`. +* The `-`/`_` is no longer a tap-dance key. + +### ADORE layer changes + +* Adjustments were made to the [ADORE](#adore-layer) layer, to separate some inconvenient combinations. + +### Miscellaneous changes + +* `LEAD u` now starts the symbolic unicode input system, instead of the OS-one. +* The mouse acceleration keys on the **Navigation/Media** layer have been turned into toggles: tap them once to turn them on, until tapped again. Tapping an accelerator button will turn all the others off. +* When the **ARROW** layer is on, the *red* and *blue* LEDs light up now. + +### Heatmap + +* The built-in keylogger has been greatly enhanced, it now outputs the pressed state, and the layer (Dvorak or ADORE). As such, the `ADORE_AUTOLOG` option has been removed, instead there is `AUTOLOG_ENABLE` now, which when enabled, makes the keylogger start when the keyboard boots. It defaults to off. +* The heatmap generator received a lot of updates. + +## v1.5 + +*2016-08-12* + +* The **1HAND** layer has been removed. +* A `Delete` key is now available on the right thumb cluster. +* The [ADORE](#adore-layer) layer received a major update, see the layout image above. +* It is now possible to enable automatic logging for the [ADORE](#adore-layer) layer, by setting the `ADORE_AUTOLOG` makefile variable to `yes` when compiling the keymap. It is off by default. +* The `~` key and the `Media Next/Prev` key have been swapped on the [base layer](#base-layer). +* On the **ARROW** layer, `Backspace` has been replaced by `Enter`. +* There is some experimental support for entering Unicode symbols. + +## v1.4 + +*2016-07-29* + +* When toggling the key logging on or off, the LEDs will do a little dance. +* The keylogger is now optional, but enabled by default. Use `KEYLOGGER_ENABLE=no` on the `make` command line to disable it. +* The `TAB`/`ARRW` key was turned into a tap-dance key, allowing one to toggle the **ARROW** layer on by double-tapping, and as such, avoid the need to hold the key. +* The `-`/`_` key was turned into a tap-dance key too. +* There is now a way to travel time with the keyboard, toggle the feature on by hitting `LEAD t`. + +## v1.3 + +*2016-07-06* + +* Added support for logging keys, by pressing `LEAD d`. Also included is a tool to generate a [heatmap](#heatmap) out of the logs. +* The arrow and navigation keys were rearranged again, and now require an additional key being held to activate. See the [base layer](#base-layer) for an image that shows where arrows are. +* The **experimental** layer has been redone, and is now called [ADORE](#adore-layer), and as such, can be enabled by `LEAD a` now. +* Switching between Dvorak and ADORE is now persisted into EEPROM, and survives a reboot. + +## v1.2 + +*2016-06-22* + +* The forced NKRO mode can be easily toggled off at compile-time, to make the firmware compatible with [certain operating systems](#using-on-windows). +* The `:;` key has changed behaviour: to access the `;` symbol, the key needs to be double-tapped, instead of shifted. +* The `=` and `\` keys were swapped, `=` moved to the home row, on both the [base](#base-layer) and the **experimental** layers. +* The arrow and navigation keys were redone, they are now more accessible, but the navigation keys require an extra tap to access. +* The **Emacs** layer is gone, replaced by a simplified **navigation and media** layer. +* `LEAD v` types the firmware version, and the keymap version. +* On the **experimental** layer, the `L` and `Q`, and the `K` and `G` keys were swapped. +* The [Steno](#steno-layer) layer gained a few more `#` and `*` keys, to make it easier on my fingers. + +## v1.1 + +*2016-06-14* + +* The keyboard starts in NKRO mode, bootmagic and other things are disabled. +* A [Steno](#steno-layer) layer was added, to be used with Plover. +* An **experimental** layer was added, something halfway between Dvorak and Capewell-Dvorak. A work in progress. +* `LEAD y` types `\o/`. +* Some keys on the [Base](#base-layer) layer have been moved around: +    - `?` moved to the left pinky, left of `Q`. +    - `=` shifted one row down, but `F11` stayed where it was. +    - `-` on the left half was replaced by `Tab`. +    - `Tab`'s original position is taken by a `Media Next`/`Media Prev` key. +    - `:` now inputs `;` when shifted. +* `ESC` cancels the **Hungarian** layer too, not just modifiers. + +## v1.0 + +*2016-05-26* + +Initial version. diff --git a/keyboards/ergodox/keymaps/algernon/images/adore-layer.png b/keyboards/ergodox/keymaps/algernon/images/adore-layer.pngBinary files differ index b611fbc42a..5f39010bb6 100644 --- a/keyboards/ergodox/keymaps/algernon/images/adore-layer.png +++ b/keyboards/ergodox/keymaps/algernon/images/adore-layer.png diff --git a/keyboards/ergodox/keymaps/algernon/images/steno-layer.png b/keyboards/ergodox/keymaps/algernon/images/steno-layer.pngBinary files differ index fe3c03c932..9a2ba55eff 100644 --- a/keyboards/ergodox/keymaps/algernon/images/steno-layer.png +++ b/keyboards/ergodox/keymaps/algernon/images/steno-layer.png diff --git a/keyboards/ergodox/keymaps/algernon/keymap.c b/keyboards/ergodox/keymaps/algernon/keymap.c index 248a0ed303..48d63fb0bd 100644 --- a/keyboards/ergodox/keymaps/algernon/keymap.c +++ b/keyboards/ergodox/keymaps/algernon/keymap.c @@ -160,11 +160,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {   * ,-----------------------------------------------------.           ,-----------------------------------------------------.   * | Play/Pause| 9    | 7  @ | 5  * | 3  ^ | 1  $ | F11  |           |  F12 | 0  % | 2  ! | 4  # | 6  & | 8    |    Plover |   * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------| - * |        `~ |   X  |   W  |   G  |   L  |   M  |   (  |           |  )   |   F  |   H  |   C  |   P  |  Y   | \         | + * |         \ |   X  |   W  |   C  |   H  |   F  |   (  |           |  )   |   M  |   G  |   L  |   P  |  /   | `~        |   * |-----------+------+------+------+------+------|   [  |           |  ]   |------+------+------+------+------+-----------|   * | Tab/Arrow |   A  |   O  |   E  |   I  |   U  |------|           |------|   D  |   R  |   T  |   N  |  S   | =         |   * |-----------+------+------+------+------+------| tmux |           | tmux |------+------+------+------+------+-----------| - * |           |   Z  |   Q  |   '  |   ,  |   .  |      |           | pane |   B  |   K  |   V  |   J  |  /   |           | + * |           |   Z  |   Q  |   '  |   ,  |   .  |      |           | pane |   B  |   K  |   V  |   Y  |  J   |           |   * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'   *     |       |      |      |      |   :  |                                       |   -  |      |      |      |       |   *     `-----------------------------------'                                       `-----------------------------------' @@ -179,7 +179,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {  [ADORE] = KEYMAP(  // left hand   KC_MPLY            ,M(A_9)      ,M(A_7)      ,M(A_5)  ,M(A_3)  ,M(A_1) ,KC_F11 -,KC_GRV             ,KC_X        ,KC_W        ,KC_G    ,KC_L    ,KC_M   ,TD(CT_LBP) +,KC_BSLS            ,KC_X        ,KC_W        ,KC_C    ,KC_H    ,KC_F   ,TD(CT_LBP)  ,TD(CT_TA)          ,KC_A        ,KC_O        ,KC_E    ,KC_I    ,KC_U  ,KC_NO              ,KC_Z        ,KC_Q        ,KC_QUOT ,KC_COMM ,KC_DOT ,TD(CT_TMUX)  ,KC_NO              ,KC_NO       ,KC_NO       ,KC_NO   ,TD(CT_CLN) @@ -190,9 +190,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {                                                                  // right hand                                                                 ,KC_F12    ,M(A_0)   ,M(A_2)  ,M(A_4)  ,M(A_6)  ,M(A_8)  ,M(A_PLVR) -                                                               ,TD(CT_RBP),KC_F     ,KC_H    ,KC_C    ,KC_P    ,KC_Y    ,KC_BSLS +                                                               ,TD(CT_RBP),KC_M     ,KC_G    ,KC_L    ,KC_P    ,KC_SLSH ,KC_GRV                                                                            ,KC_D     ,KC_R    ,KC_T    ,KC_N    ,KC_S    ,KC_EQL -                                                               ,TD(CT_TPS),KC_B     ,KC_K    ,KC_V    ,KC_J    ,KC_SLSH ,KC_NO +                                                               ,TD(CT_TPS),KC_B     ,KC_K    ,KC_V    ,KC_Y    ,KC_J    ,KC_NO                                                                                      ,KC_MINS ,KC_NO   ,KC_NO   ,KC_NO   ,KC_NO                                                                 ,OSL(NMDIA),KC_DEL @@ -386,7 +386,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {  /* Keymap 6: Steno for Plover   *   * ,--------------------------------------------------.           ,--------------------------------------------------. - * |        |      |      |      |      |      | BASE |           |      |      |      |      |      |      |        | + * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |  BASE  |   * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|   * |        |   #  |   #  |   #  |   #  |   #  |   #  |           |  #   |  #   |  #   |   #  |   #  |  #   |   #    |   * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| @@ -407,7 +407,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {  [PLVR] = KEYMAP(  // left hand -KC_NO,  KC_NO,  KC_NO,  KC_NO,   KC_NO,  KC_NO,   M(A_PLVR), +KC_NO,  KC_NO,  KC_NO,  KC_NO,   KC_NO,  KC_NO,   KC_NO,  KC_NO,  PV_NUM, PV_NUM, PV_NUM,  PV_NUM, PV_NUM,  PV_NUM,  KC_NO,  PV_LS,  PV_LT,  PV_LP,   PV_LH,  PV_STAR,  KC_NO,  PV_LS,  PV_LK,  PV_LW,   PV_LR,  PV_STAR, PV_STAR, @@ -417,7 +417,7 @@ KC_NO,  KC_NO,  KC_NO,  KC_NO,   KC_NO,                                             PV_A,  PV_O,  KC_NO,                                                   // right hand -                                                 KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, +                                                 KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   M(A_PLVR),                                                   PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,                                                            PV_STAR, PV_RF,   PV_RP,   PV_RL,   PV_RT,   PV_RD,                                                   PV_STAR, PV_STAR, PV_RR,   PV_RB,   PV_RG,   PV_RS,   PV_RZ, @@ -617,6 +617,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)            register_code (KC_LGUI);            if (record->tap.count && !record->tap.interrupted) {              if (record->tap.count >= 2) { +              uprintf("CMD:appsel_start\n");                layer_on (APPSEL);                set_oneshot_layer (APPSEL, ONESHOT_START);              } @@ -695,15 +696,15 @@ void matrix_init_user(void) {  LEADER_EXTERNS(); -static void ang_tap (uint8_t code, ...) { -  uint8_t kc = code; +static void ang_tap (uint16_t code, ...) { +  uint16_t kc = code;    va_list ap;    va_start(ap, code);    do { -    register_code(kc); -    unregister_code(kc); +    register_code16(kc); +    unregister_code16(kc);      wait_ms(50);      kc = va_arg(ap, int);    } while (kc != 0); @@ -866,6 +867,17 @@ void matrix_scan_user(void) {      leading = false;      leader_end (); +    SEQ_ONE_KEY (KC_C) { +      ang_tap (LSFT(KC_C), KC_S, KC_I, KC_L, KC_L, KC_RALT, KC_QUOT, KC_A, KC_M, KC_A, KC_S, +               KC_S, KC_Z, KC_O, KC_N, KC_Y, KC_K, KC_RALT, KC_QUOT, KC_A, KC_M, 0); +    } + +    SEQ_ONE_KEY (KC_G) { +      ang_tap (LSFT(KC_G), KC_E, KC_J, KC_G, KC_RALT, KC_EQL, KC_O, +               KC_RALT, KC_EQL, KC_O, +               KC_RALT, KC_EQL, KC_O, 0); +    } +  #if KEYLOGGER_ENABLE      SEQ_ONE_KEY (KC_D) {        ergodox_led_all_on(); @@ -875,11 +887,6 @@ void matrix_scan_user(void) {      }  #endif -    SEQ_ONE_KEY (KC_Q) { -      register_code16 (LCTL(KC_1)); -      unregister_code16 (LCTL(KC_1)); -    } -      SEQ_ONE_KEY (KC_T) {        time_travel = !time_travel;      } diff --git a/keyboards/ergodox/keymaps/algernon/readme.md b/keyboards/ergodox/keymaps/algernon/readme.md index f15b676528..822ca36500 100644 --- a/keyboards/ergodox/keymaps/algernon/readme.md +++ b/keyboards/ergodox/keymaps/algernon/readme.md @@ -27,7 +27,7 @@ Some of the things in the layout only work when one uses [Spacemacs][spacemacs]      - [Unicode Symbol Input](#unicode-symbol-input)  * [Building](#building)      - [Using on Windows](#using-on-windows) -* [Changelog](#changelog) +* [Changelog](https://github.com/algernon/ergodox-layout/blob/master/NEWS.md#readme)  * [License](#license)  # Layouts @@ -145,137 +145,6 @@ $ make keyboard=ergodox keymap=algernon  The keymap default to forcing NKRO, which seems to upset Windows, and except the modifiers, none of them work. If you experience this problem, recompile the firmware with `FORCE_NKRO=no` added to the `make` command line. -# Changelog - -## v1.7 - -*2016-09-18* - -### Overall changes - -* The number row has been completely rearranged on both the [Base](#base-layer) and the [ADORE](#adore-layer) layers. -* The number/function key behavior was changed: function keys are now on the **Media**. -* The `:`/`;` and `-`/`_` keys were put back to their thumb position on the bottom row, on both the [Base](#base-layer) and [ADORE](#adore-layer) layers. -* The bottom large keys on the inner side of each half now function as [tmux](http://tmux.github.io/) keys: the left to send the prefix, the right to send the `display-panes` key. The left also doubles as a GNU screen prefix key, and sends `C-a` when double tapped. -* A number of functions, such as the **AppSel** layer, now require the `hid-commands` tool to be running, with the output of `hid_listen` being piped to it. - -### ADORE - -* `Y` and `X` have been swapped again. - -### Media/Navigation layer - -* The function keys are now on this layer. -* Mouse keys have been removed. -* Media start/stop/prev/next have been removed. -* `Print screen` has been removed. -* There is only one screen lock key now. - -### Heatmap - -* Fixed a few issues in the finger-stats calculation. -* The tool now also timestamps and saves all input lines to a logfile, which it loads on start, allowing one to continue the collection after upgrading the tool. -* The heatmap tool will now colorize the stats by default. -* The periodic stats are now printed in a more compact format. - -### Tools - -* Added a new tool, `tools/layer-notify` that listens to layer change events on the HID console, and pops up a notification on layer changes. -* Another new tool, `tools/text-to-log.py` has been added that converts arbitrary text to a keylogger output, which can be fed to the heatmap generator. -* A number of features have been moved to the `tools/hid-commands` utility. These generally are OS dependent, and are easier to implement on the software side. - -## v1.6 - -*2016-08-24* - -### Base layer changes - -* The parentheses & bracket keys have been merged: tapping them results in `[` or `{` (if it was shifted), double tapping leads to `(`. -* The `:;` and `-_` keys are now available on the base layer, on their [ADORE](#adore-layer) location, too, just below `[{(`/`]})`. -* The `Apps` key has been replaced by `F12`. -* The `-`/`_` is no longer a tap-dance key. - -### ADORE layer changes - -* Adjustments were made to the [ADORE](#adore-layer) layer, to separate some inconvenient combinations. - -### Miscellaneous changes - -* `LEAD u` now starts the symbolic unicode input system, instead of the OS-one. -* The mouse acceleration keys on the **Navigation/Media** layer have been turned into toggles: tap them once to turn them on, until tapped again. Tapping an accelerator button will turn all the others off. -* When the **ARROW** layer is on, the *red* and *blue* LEDs light up now. - -### Heatmap - -* The built-in keylogger has been greatly enhanced, it now outputs the pressed state, and the layer (Dvorak or ADORE). As such, the `ADORE_AUTOLOG` option has been removed, instead there is `AUTOLOG_ENABLE` now, which when enabled, makes the keylogger start when the keyboard boots. It defaults to off. -* The heatmap generator received a lot of updates. - -## v1.5 - -*2016-08-12* - -* The **1HAND** layer has been removed. -* A `Delete` key is now available on the right thumb cluster. -* The [ADORE](#adore-layer) layer received a major update, see the layout image above. -* It is now possible to enable automatic logging for the [ADORE](#adore-layer) layer, by setting the `ADORE_AUTOLOG` makefile variable to `yes` when compiling the keymap. It is off by default. -* The `~` key and the `Media Next/Prev` key have been swapped on the [base layer](#base-layer). -* On the **ARROW** layer, `Backspace` has been replaced by `Enter`. -* There is some experimental support for entering Unicode symbols. - -## v1.4 - -*2016-07-29* - -* When toggling the key logging on or off, the LEDs will do a little dance. -* The keylogger is now optional, but enabled by default. Use `KEYLOGGER_ENABLE=no` on the `make` command line to disable it. -* The `TAB`/`ARRW` key was turned into a tap-dance key, allowing one to toggle the **ARROW** layer on by double-tapping, and as such, avoid the need to hold the key. -* The `-`/`_` key was turned into a tap-dance key too. -* There is now a way to travel time with the keyboard, toggle the feature on by hitting `LEAD t`. - -## v1.3 - -*2016-07-06* - -* Added support for logging keys, by pressing `LEAD d`. Also included is a tool to generate a [heatmap](#heatmap) out of the logs. -* The arrow and navigation keys were rearranged again, and now require an additional key being held to activate. See the [base layer](#base-layer) for an image that shows where arrows are. -* The **experimental** layer has been redone, and is now called [ADORE](#adore-layer), and as such, can be enabled by `LEAD a` now. -* Switching between Dvorak and ADORE is now persisted into EEPROM, and survives a reboot. - -## v1.2 - -*2016-06-22* - -* The forced NKRO mode can be easily toggled off at compile-time, to make the firmware compatible with [certain operating systems](#using-on-windows). -* The `:;` key has changed behaviour: to access the `;` symbol, the key needs to be double-tapped, instead of shifted. -* The `=` and `\` keys were swapped, `=` moved to the home row, on both the [base](#base-layer) and the **experimental** layers. -* The arrow and navigation keys were redone, they are now more accessible, but the navigation keys require an extra tap to access. -* The **Emacs** layer is gone, replaced by a simplified **navigation and media** layer. -* `LEAD v` types the firmware version, and the keymap version. -* On the **experimental** layer, the `L` and `Q`, and the `K` and `G` keys were swapped. -* The [Steno](#steno-layer) layer gained a few more `#` and `*` keys, to make it easier on my fingers. - -## v1.1 - -*2016-06-14* - -* The keyboard starts in NKRO mode, bootmagic and other things are disabled. -* A [Steno](#steno-layer) layer was added, to be used with Plover. -* An **experimental** layer was added, something halfway between Dvorak and Capewell-Dvorak. A work in progress. -* `LEAD y` types `\o/`. -* Some keys on the [Base](#base-layer) layer have been moved around: -    - `?` moved to the left pinky, left of `Q`. -    - `=` shifted one row down, but `F11` stayed where it was. -    - `-` on the left half was replaced by `Tab`. -    - `Tab`'s original position is taken by a `Media Next`/`Media Prev` key. -    - `:` now inputs `;` when shifted. -* `ESC` cancels the **Hungarian** layer too, not just modifiers. - -## v1.0 - -*2016-05-26* - -Initial version. -  # License  The layout, being a derivative of the original TMK firmware which is under the GPL-2+, this layout is under the GPL as well, but GPL-3+, rather than the older version. diff --git a/keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.ADORE.json b/keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.ADORE.json index 502d1e6ea4..a34edcf87e 100644 --- a/keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.ADORE.json +++ b/keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.ADORE.json @@ -111,11 +111,11 @@        "x": 3.5,        "a": 6      }, -    "G", +    "C",      {        "x": 10.5      }, -    "C" +    "L"    ],    [      { @@ -128,11 +128,11 @@        "x": 1,        "a": 6      }, -    "L", +    "H",      {        "x": 8.5      }, -    "H", +    "G",      {        "x": 1      }, @@ -143,7 +143,7 @@        "y": -0.875,        "x": 5.5      }, -    "M", +    "F",      {        "a": 4,        "fa": [0, 0, 0], @@ -158,7 +158,7 @@      {        "a": 6      }, -    "F" +    "M"    ],    [      { @@ -167,7 +167,7 @@        "a": 4,        "w": 1.5      }, -    "\n\n~\n`", +    "\n\n|\n\\",      {        "a": 6,        "f": 3 @@ -175,14 +175,14 @@      "X",      {        "x": 14.5, -      "a": 6 +      "a": 4      }, -    "Y", +    "/\n?",      {        "a": 4,        "w": 1.5      }, -    "|\n\\" +    "~\n`"    ],    [      { @@ -312,7 +312,7 @@      {        "x": 1      }, -    "J" +    "Y"    ],    [      { @@ -342,10 +342,9 @@      },      "Z",      { -      "x": 14.5, -      "a": 4 +      "x": 14.5      }, -    "?\n/", +    "J",      {        "f": 9,        "g": true, diff --git a/keyboards/ergodox/keymaps/algernon/tools/hid-commands b/keyboards/ergodox/keymaps/algernon/tools/hid-commands index f3b83cf6d1..2a6710be4a 100755 --- a/keyboards/ergodox/keymaps/algernon/tools/hid-commands +++ b/keyboards/ergodox/keymaps/algernon/tools/hid-commands @@ -1,6 +1,8 @@  #!/bin/bash  set -e +LAST_APPSEL_START=0 +  cmd_wm () {      WIN="$(xdotool getactivewindow)"      wmctrl -i -r ${WIN} -b remove,maximized_vert,maximized_horz @@ -34,6 +36,16 @@ cmd_appsel_chrome () {      _cmd_appsel chromium  } +cmd_appsel_start () { +    APPSEL_START=$(date +%s) +    if [ $APPSEL_START -lt $(expr $LAST_APPSEL_START + 10) ]; then +        return +    fi +    LAST_APPSEL_START=$APPSEL_START +    notify-send -t 1000 "Please select an application!" -c device -u low \ +                -i /usr/share/icons/Adwaita/24x24/devices/video-display.png +} +  cmd_help () {      cat <<EOF  Use the source, Luke! diff --git a/keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py b/keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py index 09c737646c..e927e0e39d 100755 --- a/keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py +++ b/keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py @@ -145,6 +145,11 @@ class Heatmap(object):                      usage[0][4] = usage[0][4] + self.log[(c, r)]                  else:                      usage[1][0] = usage[1][0] + self.log[(c, r)] +            elif r == 4 and (c == 4 or c == 9): # bottom row thumb keys +                if c <= 6: # left side +                    usage[0][4] = usage[0][4] + self.log[(c, r)] +                else: +                    usage[1][0] = usage[1][0] + self.log[(c, r)]              else:                  fc = c                  hand = 0 diff --git a/keyboards/ergodox/keymaps/algernon/tools/text-to-log.py b/keyboards/ergodox/keymaps/algernon/tools/text-to-log.py index e068c3cbfb..f080c32cd0 100755 --- a/keyboards/ergodox/keymaps/algernon/tools/text-to-log.py +++ b/keyboards/ergodox/keymaps/algernon/tools/text-to-log.py @@ -15,20 +15,20 @@ charmap = {      '6': [[11, 0]], '&': [[2, 5], [11, 0]],      '8': [[12, 0]], -    '`': [[0, 1]], '~': [[2, 5], [0, 1]], -    'y': [[1, 1]], 'Y': [[2, 5], [1, 1]], +    '\\': [[0, 1]], '|': [[2, 5], [0, 1]], +    'x': [[1, 1]], 'X': [[2, 5], [1, 1]],      'w': [[2, 1]], 'W': [[2, 5], [2, 1]], -    'g': [[3, 1]], 'G': [[2, 5], [3, 1]], -    'l': [[4, 1]], 'L': [[2, 5], [4, 1]], -    'm': [[5, 1]], 'M': [[2, 5], [5, 1]], +    'c': [[3, 1]], 'C': [[2, 5], [3, 1]], +    'h': [[4, 1]], 'H': [[2, 5], [4, 1]], +    'f': [[5, 1]], 'F': [[2, 5], [5, 1]],      '[': [[6, 1]], '{': [[2, 5], [6, 1]], '(': [[6, 1], [6, 1]],      ']': [[7, 1]], '}': [[2, 5], [7, 1]], ')': [[7, 1], [7, 1]], -    'f': [[8, 1]], 'F': [[2, 5], [8, 1]], -    'h': [[9, 1]], 'H': [[2, 5], [9, 1]], -    'c': [[10, 1]], 'C': [[2, 5], [10, 1]], +    'm': [[8, 1]], 'M': [[2, 5], [8, 1]], +    'g': [[9, 1]], 'G': [[2, 5], [9, 1]], +    'l': [[10, 1]], 'L': [[2, 5], [10, 1]],      'p': [[11, 1]], 'P': [[2, 5], [11, 1]], -    'x': [[12, 1]], 'X': [[2, 5], [12, 1]], -    '\\': [[13, 1]], '|': [[2, 5], [13, 1]], +    '/': [[12, 1]], '?': [[2, 5], [12, 1]], +    '`': [[13, 1]], '~': [[2, 5], [13, 1]],      '\t': [[0, 2]],      'a': [[1, 2]], 'A': [[2, 5], [1, 2]], @@ -51,8 +51,8 @@ charmap = {      'b': [[8, 3]], 'B': [[2, 5], [8, 3]],      'k': [[9, 3]], 'K': [[2, 5], [9, 3]],      'v': [[10, 3]], 'V': [[2, 5], [10, 3]], -    'j': [[11, 3]], 'J': [[2, 5], [11, 3]], -    '/': [[12, 3]], '?': [[2, 5], [12, 3]], +    'y': [[11, 3]], 'Y': [[2, 5], [11, 3]], +    'j': [[12, 3]], 'J': [[2, 5], [12, 3]],      ':': [[4, 4]], ';': [[4, 4], [4, 4]],      '-': [[9, 4]], '_': [[2, 5], [9, 4]], diff --git a/keyboards/hhkb/keymaps/dbroqua/keymap.c b/keyboards/hhkb/keymaps/dbroqua/keymap.c index ef43aae281..4e907acd87 100644 --- a/keyboards/hhkb/keymaps/dbroqua/keymap.c +++ b/keyboards/hhkb/keymaps/dbroqua/keymap.c @@ -5,6 +5,7 @@  #define BASE 0  #define FN 1 +#define MOUSE 2  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {      /* BASE Level: Default Layer @@ -15,37 +16,58 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {       * |-----------------------------------------------------------------------------------------+       * | Ctrl    |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter    |       * |-----------------------------------------------------------------------------------------+ -     * | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  |    Left   |Right| +     * | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  | Shift     | fn  |       * +-----------------------------------------------------------------------------------------+ -     *         | Gui |  Alt   |               Space               | AltGr |  fn | +     *         | Gui |  Alt   |               Space               | AltGr |Mouse|       *         `----------------------------------------------------------------´       */      [BASE] = KEYMAP(          KC_ESC,   KC_1,  KC_2,  KC_3,  KC_4,  KC_5,  KC_6,  KC_7,  KC_8,     KC_9,    KC_0,     KC_MINS,  KC_EQL,    KC_BSLS,  KC_GRV, \          KC_TAB,   KC_Q,  KC_W,  KC_E,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,     KC_O,    KC_P,     KC_LBRC,  KC_RBRC,   KC_BSPC,          \          KC_LCTL,  KC_A,  KC_S,  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,     KC_L,    KC_SCLN,  KC_QUOT,  KC_ENT,                      \ -        KC_LSFT,  KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M,  KC_COMM,  KC_DOT,  KC_SLSH,  KC_LEFT,  KC_RGHT,                    \ -                        KC_LGUI, KC_LALT,  /*        */ KC_SPC, KC_RALT, MO(FN) +        KC_LSFT,  KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M,  KC_COMM,  KC_DOT,  KC_SLSH,  KC_RSFT,  MO(FN),                    \ +                        KC_LGUI, KC_LALT,  /*        */ KC_SPC, KC_RALT, MO(MOUSE)      ), -    /* BASE Level: Default Layer +    /* FN Layer       * ,-----------------------------------------------------------------------------------------. -     * |     |  F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F0  | F11 | F12 | Ins | Del| +     * | Pwr |  F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F0  | F11 | F12 | Ins | Del|       * |-----------------------------------------------------------------------------------------+ -     * | Caps   |     |     |     |     |     |     |     |     |     |     |  Up |     |        | +     * | Caps   |     |     |     |     |     |     |     |PrtSc| Slck| Paus|  Up |     |        |       * |-----------------------------------------------------------------------------------------+ -     * |         | Vol-| Vol+| Mute|     |     |     |PrtSc| Home| PgUp| Left |Right|            | +     * |         | Vol-| Vol+| Mute|     |     |     |     | Home| PgUp| Left |Right|            |       * |-----------------------------------------------------------------------------------------+ -     * |           | Prev| Play| Next|     |     |     |     | End |PgDwn| Down|    Up     | Down| +     * |           | Prev| Play| Next|     |     |     |     | End |PgDwn| Down|           |     |       * +-----------------------------------------------------------------------------------------+       *         |     |        |                                   |       |     |       *         `----------------------------------------------------------------´       */      [FN] = KEYMAP( -        KC_TRNS,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_INS,   KC_DEL, \ -        KC_CAPS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_TRNS,          \ -        KC_TRNS,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_PSCR,  KC_HOME,  KC_PGUP,  KC_LEFT,  KC_RGHT,  KC_TRNS,                    \ -        KC_TRNS,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDN,  KC_DOWN,  KC_UP,  KC_DOWN,                    \ +        KC_PWR,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_INS,   KC_DEL, \ +        KC_CAPS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_UP,    KC_TRNS,  KC_TRNS,          \ +        KC_TRNS,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGUP,  KC_LEFT,  KC_RGHT,  KC_TRNS,                    \ +        KC_TRNS,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDN,  KC_DOWN,  KC_TRNS,  KC_TRNS,                    \ +                        KC_TRNS, KC_TRNS,           KC_TRNS,                KC_TRNS, KC_TRNS +    ), + +    /* MOUSE Layer +     * ,-----------------------------------------------------------------------------------------. +     * |     |      |     |     |     |     |     |     |     |     |     |     |     |     |    | +     * |-----------------------------------------------------------------------------------------+ +     * |        |     | WUp |     |     |     |     |     |     |     | Btn1|  Up | Btn2|        | +     * |-----------------------------------------------------------------------------------------+ +     * |         | WLt | WDn | WRt |     |     |     |     |     |     | Left |Right|            | +     * |-----------------------------------------------------------------------------------------+ +     * |           |     |     |     |     |     |     |     |     | Btn3| Down|           |     | +     * +-----------------------------------------------------------------------------------------+ +     *         |     |        |                                   |       |     | +     *         `----------------------------------------------------------------´ +     */ +    [MOUSE] = KEYMAP( +        KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,   KC_TRNS, \ +        KC_TRNS,  KC_TRNS,  KC_WH_U,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_BTN1,  KC_MS_U,  KC_BTN2,  KC_TRNS,          \ +        KC_TRNS,  KC_WH_L,  KC_WH_D,  KC_WH_R,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_MS_L,  KC_MS_R,  KC_TRNS,                    \ +        KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_BTN3,  KC_MS_D,  KC_TRNS,  KC_TRNS,                    \                          KC_TRNS, KC_TRNS,           KC_TRNS,                KC_TRNS, KC_TRNS      )  }; diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c index 82ba83f4e4..411523125d 100644 --- a/keyboards/planck/keymaps/callum/keymap.c +++ b/keyboards/planck/keymaps/callum/keymap.c @@ -21,14 +21,8 @@ enum planck_keycodes {    MOVE = SAFE_RANGE,    SYMB,    FUNC, -  CMDLEFT, -  CMDRGHT,    BELOW, -  ABOVE, -  DASH, -  GBP, -  VOLUP, -  VOLDN +  ABOVE  };  // Fillers to make layering more clear @@ -67,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {   * `-----------------------------------------------------------------------------------'   */  [_MOVE] = { -  {KC_ESC,  XXXXXXX, CMDLEFT, KC_UP,   CMDRGHT, XXXXXXX, XXXXXXX, CMDLEFT, KC_UP,   CMDRGHT, XXXXXXX, KC_ESC }, +  {KC_ESC,  XXXXXXX, LGUI(KC_LEFT), KC_UP, LGUI(KC_RGHT), XXXXXXX, XXXXXXX, LGUI(KC_LEFT), KC_UP, LGUI(KC_RGHT), XXXXXXX, KC_ESC },    {KC_DEL,  KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL },    {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN,   ABOVE, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},    {_______, _______, _______, _______, _______,   BELOW, _______, _______, _______, _______, _______, _______} @@ -85,8 +79,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {   * `-----------------------------------------------------------------------------------'   */  [_SYMB] = { -  {KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    DASH   }, -  {KC_DEL,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, GBP    }, +  {KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    LALT(KC_MINS)}, +  {KC_DEL,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, LALT(KC_3)},    {_______, KC_TILD, KC_GRV,  KC_PLUS, KC_EQL,  KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______},    {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}  }, @@ -121,8 +115,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {   * `-----------------------------------------------------------------------------------'   */  [_FUNC] = { -  {RESET,   KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  VOLUP  }, -  {XXXXXXX, KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,  VOLDN  }, +  {RESET,   KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  S(LALT(KC_VOLU))}, +  {XXXXXXX, KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,  S(LALT(KC_VOLD))},    {_______, KC_F21,  KC_F22,  KC_F23,  KC_F24,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______},    {_______, _______, _______, _______, KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT, _______, _______, _______, _______}  } @@ -159,26 +153,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {        }        return false;        break; -    case CMDLEFT: -      if (record->event.pressed) { -        register_code(KC_LGUI); -        register_code(KC_LEFT); -      } else { -        unregister_code(KC_LEFT); -        unregister_code(KC_LGUI); -      } -      return false; -      break; -    case CMDRGHT: -      if (record->event.pressed) { -        register_code(KC_LGUI); -        register_code(KC_RGHT); -      } else { -        unregister_code(KC_RGHT); -        unregister_code(KC_LGUI); -      } -      return false; -      break;      case BELOW:        if (record->event.pressed) {          register_code(KC_LGUI); @@ -203,50 +177,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {        }        return false;        break; -    case DASH: -      if (record->event.pressed) { -        register_code(KC_LALT); -        register_code(KC_MINS); -      } else { -        unregister_code(KC_MINS); -        unregister_code(KC_LALT); -      } -      return false; -      break; -    case GBP: -      if (record->event.pressed) { -        register_code(KC_LALT); -        register_code(KC_3); -      } else { -        unregister_code(KC_3); -        unregister_code(KC_LALT); -      } -      return false; -      break; -    case VOLUP: -      if (record->event.pressed) { -        register_code(KC_LALT); -        register_code(KC_LSFT); -        register_code(KC_VOLU); -      } else { -        unregister_code(KC_VOLU); -        unregister_code(KC_LSFT); -        unregister_code(KC_LALT); -      } -      return false; -      break; -    case VOLDN: -      if (record->event.pressed) { -        register_code(KC_LALT); -        register_code(KC_LSFT); -        register_code(KC_VOLD); -      } else { -        unregister_code(KC_VOLD); -        unregister_code(KC_LSFT); -        unregister_code(KC_LALT); -      } -      return false; -      break;    }    return true;  } diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c index a5d7dca21e..6a30afe293 100644 --- a/quantum/process_keycode/process_unicode.c +++ b/quantum/process_keycode/process_unicode.c @@ -2,6 +2,7 @@  static uint8_t input_mode; +__attribute__((weak))  uint16_t hex_to_keycode(uint8_t hex)  {    if (hex == 0x0) { | 
