Commit graph

2833 commits

Author SHA1 Message Date
Gergely Nagy
29f64d7a93 tap-dance: Major rework, to make it more reliable
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>
2016-08-17 15:05:58 +02:00
Gergely Nagy
d78058cc75 tap-dance: Include action_tapping.h for TAPPING_TERM
Include `action_tapping.h`, so the keymap does not have to define a
`TAPPING_TERM` for us, and we can use the default.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-17 10:28:08 +02:00
Jack Humbert
cc7acfb416 Merge pull request #635 from algernon/f/ucis
Symbolic Unicode Input System
2016-08-15 12:19:01 -04:00
Gergely Nagy
e8845f0daf process_unicode: Introduce a slight delay
When entering unicode codes, use some delay, so the OS has time to
process the information. This is not needed on all systems, but some
seem to require it.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy
43d08629cf process_unicode: Replace register_hex32
It turns out that register_hex32 did not work reliably, and some systems
only allow 7 chars after the unicode magic sequence, while others allow
8. To remedy the situation, store the codes as strings, and type those
in instead of doing bit shifting magic.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy
a312cbf712 process_unicode: Use uint32_t for UCIS purposes
Use a single uint32_t to store the unicode of a symbol, instead of an
array of uint16_ts.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy
234dd276cf process_unicode: Make the startup overridable
Extract out the part of `qk_ucis_start` that inputs the placeholder
symbol, and make it weak, so it can be overridden.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy
857aa5bef6 process_unicode: Call process_ucis() automatically
If UCIS is enabled, call process_ucis() automatically from
process_record_quantum().

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy
0b6861827f process_unicode: Handle too long UCIS symbol names
If the symbol name being entered is longer than the max, stop recording
it, and stop processing keycodes apart from the ones that can delete,
finish or cancel the sequence.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy
fa06a16360 process_unicode: Add a way to enter unicode symbols by name
The purpose of this change is to allow keymaps to specify a dictionary
of unicode symbol name to code mappings, and let the person at the
keyboard enter unicode symbols by name.

This is done by having a way to trigger unicode symbol input mode, when
all keys are cached until Esc, Enter or Space are pressed. Once that
happens, we try to look up the symbol from our lookup table. If found,
we erase back, and type the unicode magic in to get that symbol. If not
found, we still erase back, start unicode input mode, and replay what
the user typed in.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy
63e5782d2c process_unicode: Small refactor & linux fix
This moves the unicode input start / end sequences into their own
functions, so keymaps and other functionality can build on it too.

At the same time, it changes how the Linux variant works, to match
reality: CTRL+SHIFT must be unregistered too, and we close the thing
with a Space instead.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Jack Humbert
bc8976d277 Merge pull request #634 from di0ib/master
minorca handwired
2016-08-14 21:03:15 -04:00
di0ib
959c48e146 moved to handwired folder 2016-08-14 14:13:58 -10:00
di0ib
288bf4faa3 Merge branch 'master' of https://github.com/di0ib/qmk_firmware 2016-08-14 13:20:00 -10:00
di0ib
df56d742b1 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-08-14 13:19:20 -10:00
Jack Humbert
4865e6f81f Merge pull request #631 from jacwib/master
Jacwib's keymap
2016-08-14 18:50:22 -04:00
Jack Humbert
cdd7301b8b Merge pull request #627 from algernon/h/set-unicode-input-mode
process_unicode: Fix set_unicode_input_mode()
2016-08-14 18:50:03 -04:00
Jack Humbert
8bb299255b Merge pull request #624 from Xyverz/master
Added Ergodox Layout with persistent layers, Atreus corrections
2016-08-14 18:49:28 -04:00
di0ib
503ec7f9f6 Updated readme
Added link to Minorca/Sebright blog.
2016-08-14 11:15:46 -10:00
di0ib
f58a67c991 cleanup readme 2016-08-14 11:10:12 -10:00
di0ib
1eaa685872 Correct data pin to D5 2016-08-14 11:08:15 -10:00
di0ib
65060ad000 Fix list 2016-08-14 11:07:35 -10:00
di0ib
dde9ee572c clean up readnme 2016-08-14 11:06:46 -10:00
di0ib
b4218a2b3e Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-08-14 10:58:22 -10:00
di0ib
c6c2c3fc14 minorca
minirca with RGB keymap
2016-08-14 10:58:10 -10:00
jacwib
54e37fd2d1 Fix bug 2016-08-14 11:08:01 +02:00
jacwib
6ba27ea318 Remove pointless comments 2016-08-14 11:02:46 +02:00
jacwib
e4e13ddc54 Update readme.md 2016-08-14 10:57:47 +02:00
jacwib
26f4a0cf04 Update Makefile 2016-08-14 10:49:26 +02:00
jacwib
62004866b3 Update config.h 2016-08-14 10:49:06 +02:00
jacwib
cf91aa416a Update keymap.c 2016-08-14 10:48:52 +02:00
jacwib
1ab78110bd Update readme.md 2016-08-14 10:48:22 +02:00
jacwib
880486bd24 Jack's keymap. 2016-08-14 10:46:40 +02:00
Xyverz
049343e523 Added my own layout to the Phantom. 2016-08-14 00:33:11 -07:00
Xyverz
97fca1efff Fixing a mixup. Tidying up the keymap. 2016-08-13 20:14:27 -07:00
Xyverz
1920c290a4 Merge remote-tracking branch 'upstream/master' 2016-08-13 19:51:49 -07:00
Erez Zukerman
6323f3d1e7 Merge pull request #623 from algernon/ergodox-ez/algernon
ergodox: Update my keymap to v1.5
2016-08-13 20:12:15 -04:00
Erez Zukerman
5ef3f05215 Merge pull request #626 from tenderlove/readme-link
fix link to ErgoDox EZ
2016-08-13 20:11:34 -04:00
Ian Sterling
e87506767c Removal of old minivan44 folder. 2016-08-13 10:44:42 -07:00
Ian Sterling
2d0f585e42 Renamed minivan44 to tv44 in all occurrences per wishes of
Jack and Evan.
2016-08-13 10:36:08 -07:00
Gergely Nagy
8bdf745909 process_unicode: Fix set_unicode_input_mode()
In the header, this was defined as `set_unicode_input_mode`, but the
implementation had `set_unicode_mode` for a name. Changed the
implementation to match the header.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-13 10:37:01 +02:00
Ian Sterling
c07fe96581 Adding the MiniVan44 aka TheVan 44 by u/evangs to the repo.
Initial Commit.
2016-08-12 23:45:40 -07:00
Xyverz
3bae791372 Update keymap.c 2016-08-12 22:30:01 -07:00
Ian Sterling
458607ee5e Corrections to the Atreus Makefile and updates to my keymap 2016-08-12 22:26:30 -07:00
Aaron Patterson
477f1ad0c8
fix link to ErgoDox EZ
This just fixes the readme link to the ErgoDox EZ directory
2016-08-12 19:15:53 -07:00
Jack Humbert
098951905d forces all ergodox keymaps to be ez on qmk.fm (were infinity) 2016-08-12 20:45:43 -04:00
Jack Humbert
11d4784d3a Merge pull request #622 from shelaf/master
My HHKB layout
2016-08-12 14:43:04 -04:00
Jack Humbert
c6ec63eac3 Merge pull request #621 from shelaf/fix
Fix typo
2016-08-12 14:42:42 -04:00
Gergely Nagy
b98d47abe5 ergodox: Update my keymap to v1.5
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>
2016-08-12 16:36:07 +02:00
shela
11e23fd3fd add new line 2016-08-12 21:45:36 +09:00