Age | Commit message (Collapse) | Author |
|
When the timeout is zero or not defined, the function now returns false.
Fixes a linker error when the visualizer is enabled
|
|
|
|
Add TAPPING_FORCE_HOLD to regulate behaviour
|
|
|
|
Add weak layer_state_set_kb hook
|
|
|
|
|
|
|
|
See #889 for the detail.
|
|
|
|
Minor cleanup
|
|
Add Tapping Macros to QMK
|
|
oneshot timeout would only timeout after an event.
|
|
|
|
The oneshot cancellation code do not depend on the
action_tapping_process and since process_record get called via the
action_tapping_process logic moved the oneshot cancellation code into
the action_exec function just before the action_tapping_process call
|
|
A macro key can now be easily set to act as a modifier on hold, and
press a shifted key when tapped. Or to switch layers when held, and
again press a shifted key when tapped.
Various other helper defines have been created which send macros when
the key is pressed, released and tapped, cleaning up the
action_get_macro function inside keymap definitions.
The layer switching macros require a GCC extension - 'compound
statements enclosed within parentheses'. The use of this extension is
already present within the macro subsystem of this project, so its use
in this commit should not cause any additional issues.
MACRO_NONE had to be cast to a (macro_t*) to suppress compiler
warnings within some tapping macros.
|
|
|
|
added mods status bit to visualizer.
|
|
|
|
|
|
Since we can't read the real_mods and oneshot_mods static variable
directly within the update_user_visualizer_state
function (Threading and serial link). We are know storing the mods
states in the visualizer_keyboard_status_t structure. We can now
display the status of the modifier keys on the LCD display.
|
|
After setting a ONESHOT_TIMEOUT value, the oneshot layer state would
not expire without an event being triggered (key pressed). The reason
was that in the process_record function we would return priort to
execute the process_action function if it detected a NOEVENT cycle. The
process_action contained the codes to timeout the oneshot layer state.
The codes to clear the oneshot layer state have been move just in
front of where we check for the NOEVENT cycle in the process_record
function.
|
|
|
|
Initial version of Raw HID interface
|
|
Tidy up atomicity in timer.c and ring_buffer.h
|
|
|
|
|
|
Adopt the macros for saving/restoring the interrupt state
that are provided by the avr gcc environment.
Removing intialization of the timer value; this shaves off
a few bytes because globals are default initialized to zero.
|
|
|
|
|
|
Set backlight status to on if it's at maximum brightness already and the brightness increase keybind is used
|
|
brightness increase keybind is used
Before it was turned on but the status wasn't set to on, so you had to
push the backlight toggle bind twice to turn it off again
|
|
|
|
|
|
|
|
|
|
Fixed some bugs relating to keyboards with more than 16 columns. Also
added the ability to mask off keyboard matrix bits.
|
|
|
|
|
|
|
|
User print disables the normal print messages in the body of QMK/TMK
code and is meant as a lightweight alternative to NOPRINT. Use it when
you only want to do a spot of debugging but lack flash resources for
allowing all of the codebase to print (and store their wasteful
strings).
|
|
* removing nkro references - wip
* changed NKRO to be defined by keymap_config
|
|
|
|
|
|
|
|
Virtual Serial Port - and a Layout that uses that virtual serial port for Plover
|
|
|
|
|
|
|
|
This adds an action, `ACTION_SWAP_HANDS`, that swaps the the keys on the keyboard across a keymap-defined hemisphere in order to support one-hand typing without requiring a separate one-handed layer. See updated `doc/keymap.md` for more information.
|