mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Merge pull request #804 from algernon/ergodox-ez/algernon
ergodox: Update algernon's keymap to v1.8
This commit is contained in:
		
						commit
						d465e3f0c3
					
				
							
								
								
									
										145
									
								
								keyboards/ergodox/keymaps/algernon/NEWS.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										145
									
								
								keyboards/ergodox/keymaps/algernon/NEWS.md
									
									
									
									
									
										Normal file
									
								
							@ -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.
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 63 KiB  | 
@ -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 |
 | 
					 * | 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   | =         |
 | 
					 * | Tab/Arrow |   A  |   O  |   E  |   I  |   U  |------|           |------|   D  |   R  |   T  |   N  |  S   | =         |
 | 
				
			||||||
 * |-----------+------+------+------+------+------| tmux |           | tmux |------+------+------+------+------+-----------|
 | 
					 * |-----------+------+------+------+------+------| 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(
 | 
					[ADORE] = KEYMAP(
 | 
				
			||||||
// left hand
 | 
					// left hand
 | 
				
			||||||
 KC_MPLY            ,M(A_9)      ,M(A_7)      ,M(A_5)  ,M(A_3)  ,M(A_1) ,KC_F11
 | 
					 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
 | 
					,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_Z        ,KC_Q        ,KC_QUOT ,KC_COMM ,KC_DOT ,TD(CT_TMUX)
 | 
				
			||||||
,KC_NO              ,KC_NO       ,KC_NO       ,KC_NO   ,TD(CT_CLN)
 | 
					,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
 | 
					                                                                // right hand
 | 
				
			||||||
                                                               ,KC_F12    ,M(A_0)   ,M(A_2)  ,M(A_4)  ,M(A_6)  ,M(A_8)  ,M(A_PLVR)
 | 
					                                                               ,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
 | 
					                                                                          ,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
 | 
					                                                                                    ,KC_MINS ,KC_NO   ,KC_NO   ,KC_NO   ,KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                                               ,OSL(NMDIA),KC_DEL
 | 
					                                                               ,OSL(NMDIA),KC_DEL
 | 
				
			||||||
@ -386,7 +386,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			|||||||
/* Keymap 6: Steno for Plover
 | 
					/* Keymap 6: Steno for Plover
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
					 * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 * |        |      |      |      |      |      | BASE |           |      |      |      |      |      |      |        |
 | 
					 * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |  BASE  |
 | 
				
			||||||
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
					 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 * |        |   #  |   #  |   #  |   #  |   #  |   #  |           |  #   |  #   |  #   |   #  |   #  |  #   |   #    |
 | 
					 * |        |   #  |   #  |   #  |   #  |   #  |   #  |           |  #   |  #   |  #   |   #  |   #  |  #   |   #    |
 | 
				
			||||||
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
					 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
@ -407,7 +407,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[PLVR] = KEYMAP(
 | 
					[PLVR] = KEYMAP(
 | 
				
			||||||
// left hand
 | 
					// 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_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_LT,  PV_LP,   PV_LH,  PV_STAR,
 | 
				
			||||||
KC_NO,  PV_LS,  PV_LK,  PV_LW,   PV_LR,  PV_STAR, 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,
 | 
					                                           PV_A,  PV_O,  KC_NO,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                                 // right hand
 | 
					                                                 // 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_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_RF,   PV_RP,   PV_RL,   PV_RT,   PV_RD,
 | 
				
			||||||
                                                 PV_STAR, PV_STAR, PV_RR,   PV_RB,   PV_RG,   PV_RS,   PV_RZ,
 | 
					                                                 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);
 | 
					          register_code (KC_LGUI);
 | 
				
			||||||
          if (record->tap.count && !record->tap.interrupted) {
 | 
					          if (record->tap.count && !record->tap.interrupted) {
 | 
				
			||||||
            if (record->tap.count >= 2) {
 | 
					            if (record->tap.count >= 2) {
 | 
				
			||||||
 | 
					              uprintf("CMD:appsel_start\n");
 | 
				
			||||||
              layer_on (APPSEL);
 | 
					              layer_on (APPSEL);
 | 
				
			||||||
              set_oneshot_layer (APPSEL, ONESHOT_START);
 | 
					              set_oneshot_layer (APPSEL, ONESHOT_START);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@ -695,15 +696,15 @@ void matrix_init_user(void) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
LEADER_EXTERNS();
 | 
					LEADER_EXTERNS();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void ang_tap (uint8_t code, ...) {
 | 
					static void ang_tap (uint16_t code, ...) {
 | 
				
			||||||
  uint8_t kc = code;
 | 
					  uint16_t kc = code;
 | 
				
			||||||
  va_list ap;
 | 
					  va_list ap;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  va_start(ap, code);
 | 
					  va_start(ap, code);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  do {
 | 
					  do {
 | 
				
			||||||
    register_code(kc);
 | 
					    register_code16(kc);
 | 
				
			||||||
    unregister_code(kc);
 | 
					    unregister_code16(kc);
 | 
				
			||||||
    wait_ms(50);
 | 
					    wait_ms(50);
 | 
				
			||||||
    kc = va_arg(ap, int);
 | 
					    kc = va_arg(ap, int);
 | 
				
			||||||
  } while (kc != 0);
 | 
					  } while (kc != 0);
 | 
				
			||||||
@ -866,6 +867,17 @@ void matrix_scan_user(void) {
 | 
				
			|||||||
    leading = false;
 | 
					    leading = false;
 | 
				
			||||||
    leader_end ();
 | 
					    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
 | 
					#if KEYLOGGER_ENABLE
 | 
				
			||||||
    SEQ_ONE_KEY (KC_D) {
 | 
					    SEQ_ONE_KEY (KC_D) {
 | 
				
			||||||
      ergodox_led_all_on();
 | 
					      ergodox_led_all_on();
 | 
				
			||||||
@ -875,11 +887,6 @@ void matrix_scan_user(void) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SEQ_ONE_KEY (KC_Q) {
 | 
					 | 
				
			||||||
      register_code16 (LCTL(KC_1));
 | 
					 | 
				
			||||||
      unregister_code16 (LCTL(KC_1));
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    SEQ_ONE_KEY (KC_T) {
 | 
					    SEQ_ONE_KEY (KC_T) {
 | 
				
			||||||
      time_travel = !time_travel;
 | 
					      time_travel = !time_travel;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -27,7 +27,7 @@ Some of the things in the layout only work when one uses [Spacemacs][spacemacs]
 | 
				
			|||||||
    - [Unicode Symbol Input](#unicode-symbol-input)
 | 
					    - [Unicode Symbol Input](#unicode-symbol-input)
 | 
				
			||||||
* [Building](#building)
 | 
					* [Building](#building)
 | 
				
			||||||
    - [Using on Windows](#using-on-windows)
 | 
					    - [Using on Windows](#using-on-windows)
 | 
				
			||||||
* [Changelog](#changelog)
 | 
					* [Changelog](https://github.com/algernon/ergodox-layout/blob/master/NEWS.md#readme)
 | 
				
			||||||
* [License](#license)
 | 
					* [License](#license)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Layouts
 | 
					# 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.
 | 
					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
 | 
					# 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.
 | 
					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.
 | 
				
			||||||
 | 
				
			|||||||
@ -111,11 +111,11 @@
 | 
				
			|||||||
      "x": 3.5,
 | 
					      "x": 3.5,
 | 
				
			||||||
      "a": 6
 | 
					      "a": 6
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "G",
 | 
					    "C",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "x": 10.5
 | 
					      "x": 10.5
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "C"
 | 
					    "L"
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  [
 | 
					  [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -128,11 +128,11 @@
 | 
				
			|||||||
      "x": 1,
 | 
					      "x": 1,
 | 
				
			||||||
      "a": 6
 | 
					      "a": 6
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "L",
 | 
					    "H",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "x": 8.5
 | 
					      "x": 8.5
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "H",
 | 
					    "G",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "x": 1
 | 
					      "x": 1
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -143,7 +143,7 @@
 | 
				
			|||||||
      "y": -0.875,
 | 
					      "y": -0.875,
 | 
				
			||||||
      "x": 5.5
 | 
					      "x": 5.5
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "M",
 | 
					    "F",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "a": 4,
 | 
					      "a": 4,
 | 
				
			||||||
      "fa": [0, 0, 0],
 | 
					      "fa": [0, 0, 0],
 | 
				
			||||||
@ -158,7 +158,7 @@
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      "a": 6
 | 
					      "a": 6
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "F"
 | 
					    "M"
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  [
 | 
					  [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -167,7 +167,7 @@
 | 
				
			|||||||
      "a": 4,
 | 
					      "a": 4,
 | 
				
			||||||
      "w": 1.5
 | 
					      "w": 1.5
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "\n\n~\n`",
 | 
					    "\n\n|\n\\",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "a": 6,
 | 
					      "a": 6,
 | 
				
			||||||
      "f": 3
 | 
					      "f": 3
 | 
				
			||||||
@ -175,14 +175,14 @@
 | 
				
			|||||||
    "X",
 | 
					    "X",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "x": 14.5,
 | 
					      "x": 14.5,
 | 
				
			||||||
      "a": 6
 | 
					      "a": 4
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "Y",
 | 
					    "/\n?",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "a": 4,
 | 
					      "a": 4,
 | 
				
			||||||
      "w": 1.5
 | 
					      "w": 1.5
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "|\n\\"
 | 
					    "~\n`"
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  [
 | 
					  [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -312,7 +312,7 @@
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      "x": 1
 | 
					      "x": 1
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "J"
 | 
					    "Y"
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  [
 | 
					  [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -342,10 +342,9 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "Z",
 | 
					    "Z",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "x": 14.5,
 | 
					      "x": 14.5
 | 
				
			||||||
      "a": 4
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "?\n/",
 | 
					    "J",
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "f": 9,
 | 
					      "f": 9,
 | 
				
			||||||
      "g": true,
 | 
					      "g": true,
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,8 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
set -e
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LAST_APPSEL_START=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cmd_wm () {
 | 
					cmd_wm () {
 | 
				
			||||||
    WIN="$(xdotool getactivewindow)"
 | 
					    WIN="$(xdotool getactivewindow)"
 | 
				
			||||||
    wmctrl -i -r ${WIN} -b remove,maximized_vert,maximized_horz
 | 
					    wmctrl -i -r ${WIN} -b remove,maximized_vert,maximized_horz
 | 
				
			||||||
@ -34,6 +36,16 @@ cmd_appsel_chrome () {
 | 
				
			|||||||
    _cmd_appsel chromium
 | 
					    _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 () {
 | 
					cmd_help () {
 | 
				
			||||||
    cat <<EOF
 | 
					    cat <<EOF
 | 
				
			||||||
Use the source, Luke!
 | 
					Use the source, Luke!
 | 
				
			||||||
 | 
				
			|||||||
@ -145,6 +145,11 @@ class Heatmap(object):
 | 
				
			|||||||
                    usage[0][4] = usage[0][4] + self.log[(c, r)]
 | 
					                    usage[0][4] = usage[0][4] + self.log[(c, r)]
 | 
				
			||||||
                else:
 | 
					                else:
 | 
				
			||||||
                    usage[1][0] = usage[1][0] + self.log[(c, r)]
 | 
					                    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:
 | 
					            else:
 | 
				
			||||||
                fc = c
 | 
					                fc = c
 | 
				
			||||||
                hand = 0
 | 
					                hand = 0
 | 
				
			||||||
 | 
				
			|||||||
@ -15,20 +15,20 @@ charmap = {
 | 
				
			|||||||
    '6': [[11, 0]], '&': [[2, 5], [11, 0]],
 | 
					    '6': [[11, 0]], '&': [[2, 5], [11, 0]],
 | 
				
			||||||
    '8': [[12, 0]],
 | 
					    '8': [[12, 0]],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    '`': [[0, 1]], '~': [[2, 5], [0, 1]],
 | 
					    '\\': [[0, 1]], '|': [[2, 5], [0, 1]],
 | 
				
			||||||
    'y': [[1, 1]], 'Y': [[2, 5], [1, 1]],
 | 
					    'x': [[1, 1]], 'X': [[2, 5], [1, 1]],
 | 
				
			||||||
    'w': [[2, 1]], 'W': [[2, 5], [2, 1]],
 | 
					    'w': [[2, 1]], 'W': [[2, 5], [2, 1]],
 | 
				
			||||||
    'g': [[3, 1]], 'G': [[2, 5], [3, 1]],
 | 
					    'c': [[3, 1]], 'C': [[2, 5], [3, 1]],
 | 
				
			||||||
    'l': [[4, 1]], 'L': [[2, 5], [4, 1]],
 | 
					    'h': [[4, 1]], 'H': [[2, 5], [4, 1]],
 | 
				
			||||||
    'm': [[5, 1]], 'M': [[2, 5], [5, 1]],
 | 
					    'f': [[5, 1]], 'F': [[2, 5], [5, 1]],
 | 
				
			||||||
    '[': [[6, 1]], '{': [[2, 5], [6, 1]], '(': [[6, 1], [6, 1]],
 | 
					    '[': [[6, 1]], '{': [[2, 5], [6, 1]], '(': [[6, 1], [6, 1]],
 | 
				
			||||||
    ']': [[7, 1]], '}': [[2, 5], [7, 1]], ')': [[7, 1], [7, 1]],
 | 
					    ']': [[7, 1]], '}': [[2, 5], [7, 1]], ')': [[7, 1], [7, 1]],
 | 
				
			||||||
    'f': [[8, 1]], 'F': [[2, 5], [8, 1]],
 | 
					    'm': [[8, 1]], 'M': [[2, 5], [8, 1]],
 | 
				
			||||||
    'h': [[9, 1]], 'H': [[2, 5], [9, 1]],
 | 
					    'g': [[9, 1]], 'G': [[2, 5], [9, 1]],
 | 
				
			||||||
    'c': [[10, 1]], 'C': [[2, 5], [10, 1]],
 | 
					    'l': [[10, 1]], 'L': [[2, 5], [10, 1]],
 | 
				
			||||||
    'p': [[11, 1]], 'P': [[2, 5], [11, 1]],
 | 
					    'p': [[11, 1]], 'P': [[2, 5], [11, 1]],
 | 
				
			||||||
    'x': [[12, 1]], 'X': [[2, 5], [12, 1]],
 | 
					    '/': [[12, 1]], '?': [[2, 5], [12, 1]],
 | 
				
			||||||
    '\\': [[13, 1]], '|': [[2, 5], [13, 1]],
 | 
					    '`': [[13, 1]], '~': [[2, 5], [13, 1]],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    '\t': [[0, 2]],
 | 
					    '\t': [[0, 2]],
 | 
				
			||||||
    'a': [[1, 2]], 'A': [[2, 5], [1, 2]],
 | 
					    'a': [[1, 2]], 'A': [[2, 5], [1, 2]],
 | 
				
			||||||
@ -51,8 +51,8 @@ charmap = {
 | 
				
			|||||||
    'b': [[8, 3]], 'B': [[2, 5], [8, 3]],
 | 
					    'b': [[8, 3]], 'B': [[2, 5], [8, 3]],
 | 
				
			||||||
    'k': [[9, 3]], 'K': [[2, 5], [9, 3]],
 | 
					    'k': [[9, 3]], 'K': [[2, 5], [9, 3]],
 | 
				
			||||||
    'v': [[10, 3]], 'V': [[2, 5], [10, 3]],
 | 
					    'v': [[10, 3]], 'V': [[2, 5], [10, 3]],
 | 
				
			||||||
    'j': [[11, 3]], 'J': [[2, 5], [11, 3]],
 | 
					    'y': [[11, 3]], 'Y': [[2, 5], [11, 3]],
 | 
				
			||||||
    '/': [[12, 3]], '?': [[2, 5], [12, 3]],
 | 
					    'j': [[12, 3]], 'J': [[2, 5], [12, 3]],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ':': [[4, 4]], ';': [[4, 4], [4, 4]],
 | 
					    ':': [[4, 4]], ';': [[4, 4], [4, 4]],
 | 
				
			||||||
    '-': [[9, 4]], '_': [[2, 5], [9, 4]],
 | 
					    '-': [[9, 4]], '_': [[2, 5], [9, 4]],
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user