* include variables and .h files as pp directives
* start layout compilation
* split ergodoxes up
* don't compile all layouts for everything
* might seg fault
* reset layouts variable
* actually reset layouts
* include rules.mk instead
* remove includes from rules.mk
* update variable setting
* load visualizer from path
* adds some more examples
* adds more layouts
* more boards added
* more boards added
* adds documentation for layouts
* use lowercase names for LAYOUT_
* add layout.json files for each layout
* add community folder, default keymaps for layouts
* touch-up default layouts
* touch-up layouts, some keyboard rules.mk
* update documentation for layouts
* fix up serial/i2c switches
Miscellaneous
=============
* `µ` can now be entered with UCIS.
* `™` can now be entered with UCIS.
Tools
=====
* `tools/hid-commands` can now find Banshee, and prefers it over Kodi.
* `tools/hid-commands` can now find Chrome too, not juts Chromium.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Overall changes
===============
* `F12` was replaced by an `Fx` key, that activate the **Media** layer
as a one-shot layer, and also `Alt` as a one-shot modifier.
Base layer changes
==================
* The `Media Stop` key is now a tap-dance key, and resets the device for
programming on the fourth tap.
Miscellaneous
=============
* `π` can now be entered with UCIS.
* `🐁` can now be entered with UCIS.
Tools
=====
* The `tools/layer-notify` tool was removed, it was an example, which I
don't use.
`tools/hid-commands`
--------------------
* Now looks at the `DISABLE_APPSEL_START` environment value, and does
not display an AppSel notification if it is non-empty.
* Will attempt to re-program the keyboard when receiving a `reflash`
command.
* No longer tries to select Emacs 24 on `APPSEL_EMACS`, rather, it goes
for any Emacs.
* The `APPSEL_MUSIC` command now includes Kodi in the list too, as the
last choice.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
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** toggle key.
* My wife is now present on the keyboard too.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Overall changes
===============
* The number row has been completely rearranged on both the **Base** and
the **ADORE** 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** and **ADORE** 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.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Major changes include:
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** 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** 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 and 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.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
This reworks how the tap-dance feature works: instead of one global
state, we have a state for each tap-dance key, so we can cancel them
when another tap-dance key is in flight. This fixes#527.
Since we have a state for each key, we can avoid situation where a keyup
would mess with our global state. This fixes#563.
And while here, we also make sure to fire events only once, and this
fixes#574.
There is one breaking change, though: tap-dance debugging support was
removed, because dumping the whole state would increase the firmware
size too much. Any keymap that made use of this, will have to be
updated (but there's no such keymap in the repo).
Also, there's a nice trick used in this rework: we need to iterate
through tap_dance_actions in a few places, to check for timeouts, and so
on. For this, we'd need to know the size of the array. We can't discover
that at compile-time, because tap-dance gets compiled separately. We'd
like to avoid having to terminate the list with a sentinel value,
because that would require updates to all keymaps that use the feature.
So, we keep track of the highest tap-dance code seen so far, and iterate
until that index.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Major changes include:
* The **1HAND** layer has been removed.
* A `Delete` key is now available on the right thumb cluster.
* The **ADORE** layer received a major update, see the updated layout
image.
* It is now possible to enable automatic logging for the **ADORE**
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.
* On the **ARROW** layer, `Backspace` has been replaced by `Enter`.
* There is some experimental support for entering Unicode symbols.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>