Commit Graph

268 Commits (39e8e61258b51a2c33a94dd877e983f0b1dae0c1)

Author SHA1 Message Date
Wojciech Siewierski 39e8e61258 Implement the dynamic macros that are recorded in runtime
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>
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>
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>
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>
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>
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>
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>
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>
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>
shela e692ebf86a fix typo
kuel 2a0121a786 Removed unnecessary comment
kuel c5ee24a6c3 Add keymap_russian.h, a software implementation of Russian
rename keymap_cyrillic.h to keymap_unicode_cyrillic.h
changed CY_RUBLE and CY_NUMERO to CY_RUBL and CY_NMRO in
 keymap_unicode_cyrillic.h
Jack Humbert 213cb2c243 Merge pull request from kuel/master
Add keymap_cyrillic.h, lots of cyrillic characters
Jack Humbert e62c588921 Merge pull request from 0xdec/patch-1
Clean up formatting & tiny refactor in rgblight.c
kuel c70b276b1b Add keymap_cyrillic.h, lots of cyrillic characters
JeeBak Kim 7d0345ef25 Add IN_LIKE_FLINT song
Fred Sundvik e01b4c3fd9 Most ergodox keymaps compiles on Infinity
There are linker errors due to missing led funcitonality though
Gergely Nagy b21e8b97ac tap-dance: Add some debugging support
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Jordi Orlando ea2d2f5d58 Simplify HSV->RGB calculation
De-dupe repeated code
Jordi Orlando 899c88cd8b Increament -> increment
Jordi Orlando 3a860c4bc2 Clean up rgblight.c
Fix formatting issues, clarify comments
Jack Humbert f9aadd17e8 Merge pull request from lindhe/master
Fix misspelled command in Norwegian helper
Andreas Lindhé 283ebbe142 Change Nordic ampersand code to match the English
Changed from "NO_AMP" to "NO_AMPR" since the KC one is "KC_AMPR"
Andreas Lindhé b6fa762234 Fix misspelled command in Norwegian helper
Jack Humbert 8b94e26d7c Fixes midi functionality
Jack Humbert 24bd931962 Merge pull request from robertdale/music-play-fix
Fixes issue  - ensure there's a recording to play before playing
Jack Humbert 41f15d8c34 Merge pull request from Darthabel/fix_bepo
Fix some errors in bepo mapping
Robert Dale 3ea738e450 ensure there's a recording to play before playing; also enables the LGUI button to play a tone
Vivien Alger 7b4d30ee50 Fix some errors in bepo mapping
Gergely Nagy 44e16ffc80 tap-dance: Code cleanup
Removes a number of duplicated code, by passing actions around instead
of keycodes, so the various dance action functions do not have to look
up the action, but the caller does that for them.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Gergely Nagy ce8cc9219f tap-dance: Support user_data for the callbacks
Refactored the code a little, so all callbacks now receive a `user_data`
pointer, which can be anything. As an example, the key pairs from
`ACTION_TAP_DANCE_DOUBLE` now use this, and custom, built-in functions.

This makes it easier to extend the tap dance functionality, and also
simplifies the code a little.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Gergely Nagy 70e42489de tap-dance: Support for holding keys
With this change, tap dance will now store the pressed state of the
tap-dance key, and allow one to make an action sooner, while the key is
still held, and only unregister when the key is released.

The registration must happen in the `on_dance_finished` callback, while
unregistering goes to `on_reset`. The surrounding code makes sure not to
call either multiple times.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Jack Humbert 940358ed4f Merge pull request from jakllsch/upstream
keymap_extras changes
Pavlos Vinieratos 4e6a8627d8 add a couple of comments
Pavlos Vinieratos d5daec2a58 on_each_tap_fn is called on tap down and tap up
Pavlos Vinieratos dda2fd6ff3 in the default case, it should be called if there is actually a tap
dance happening, and in the normal case, it should be called when the
tap down is happening.
Pavlos Vinieratos d3091faf36 change naming, and remove extraneous definition
Pavlos Vinieratos f3b56701ed add an `anyway` and a `reset` callback
when using tap dance, we have the `regular` callback that is called on
the last tap. this commit adds an `anyway` callback that is called on
every tap, and a `reset` callback that is called on reset of the tap
dance taps.
Pavlos Vinieratos 1a7e954f9f in case its NULL
Jonathan A. Kollasch 4278d88615 keymap_dvorak.h: add missing shifted keys, fix whitespace
Jonathan A. Kollasch 25938a09a6 extra_keymaps: use RALT() instead of 0x1400 for AltGr
Jonathan A. Kollasch 010dd13084 keymap_extras: add newline at end of files
Pavlos Vinieratos a28a6e5b79 extract reset keyboard into a function
that makes it easy to call reset_keyboard() from a function in a keymap
Jack Humbert a998a48673 Merge pull request from Smilliam/master
Canceling Space Cadet state with opposite shift key
Smilliam b12fe6abb2 Made rollover behavior for space cadet optional
TerryMathews f7a8682226 Move return out of event if block
According to Jack, this makes the return case not be processed. Doesn't
break anything in the firmware.
TerryMathews 50c686587e Create keycodes for RGB control functions
Moves RGB controls out of the macro function and assigns them their own
keycodes:
RGB_TOG (toggle on/off)
RGB_MOD (mode step)
RGB_HUI (increase hue)
RGB_HUD (decrease hue)
RGB_SAI (increase saturation)
RGB_SAD (decrease saturation)
RGB_VAI (increase brightness)
RGB_VAD (decrease brightness)
Fred Sundvik 9870082a06 Fix the range for consumer keys
Jack Humbert c1dfb636ef fixes quantum template (actually)