Caleb Goates
0d5bb100ba
feat(behavior): Add key toggle
2 years ago
Okke Formsma
57fca34dc0
refactor(hid): Move hid logic into hid.c
...
Move the logic for picking the correct hid function into hid.c.
2 years ago
Peter Johanson
6ef1e7034f
fix(hid): Implicit mods on non-key page events
...
* Properly send the KEY usage page report for modifier changes
when there are state changes to other usages pages that
include implicit modifiers.
3 years ago
Peter Johanson
bc179b1030
feat(hid): Kconfig for basic/full consumer usages.
...
* Add ZMK_HID_CONSUMER_REPORT_USAGES choice to allow choosing
between full consumer usage range, with poor OS compat,
or basic consumer usage range, with broader compat.
3 years ago
Pete Johanson
91ba034896
feat(hid): Configurable NKRO HID report support.
...
* Add Kconfig settings for NKRO or HKRO (boot compatible), HID
report types for keyboard page.
* Updated report storage and set/unset for each config.
3 years ago
Okke Formsma
7b7701ae90
feature(modifiers): add explicit modifiers
...
this makes LS(LEFT_CONTROL) work as if shift and control were both
pressed explicitly. Previously, the left shift would have been released
as soon as another key was pressed. The implicit behavior is useful in
case of LS(NUMBER_1) when rolling over to other keys.
Also see #361 .
4 years ago
Okke Formsma
5eeb310b2f
feat(grave-escape): implement grave-escape
...
closes #85
4 years ago
Pete Johanson
c11759bc79
fix(hid): Clear all matching usages, not just first.
...
* If various events get dropped, we can end up with duplicate
codes in our report, so tweak to ensure we look for all matches
and clear them when we have a keycode released.
4 years ago
innovaker
87e7c04b00
refactor(app): replace zmk_mod_flags with zmk_mod_flags_t
...
Aligns with typedef _t convention.
PR: #531
4 years ago
innovaker
05b0d185a8
refactor(app): replace zmk_mod with zmk_mod_t
...
Aligns with typedef _t convention.
PR: #531
4 years ago
innovaker
87179698b4
refactor(app): replace zmk_key with zmk_key_t
...
Aligns with typedef _t convention.
PR: #531
4 years ago
innovaker
ae924b3594
refactor(hid): replace `kp_report` with `keyboard_report`
...
Aligns with other existing conventions.
4 years ago
innovaker
3ac1a11a37
refactor: change `keypad` to `keyboard`
...
The application usage used by report 1 is `HID_USAGE_GD_KEYBOARD`. Moreover, the `keys` usage page (0x07) that primarily feeds into this report is predominantly keyboard codes. The rest of the system should align with this naming convention.
4 years ago
innovaker
348a44a8a3
refactor(app): Remove obsolete include's of `hid_usage_pages.h`
...
This should've been done in eff1b8223b
.
4 years ago
Pete Johanson
eff1b8223b
refactor(keys): Unify usage page.
...
* Remove need for separate `&cp` behavior, but
keep it for now for backward compat.
* Refactor sensor inc/dec as well.
4 years ago
innovaker
d748d8a749
refactor: Replace superseded key names
...
Replace deprecated key names (LCTL, NUM_0, NUM_1).
Replace abbreviated names with fully qualified names (LCTL, RGUI, NUM_0, NUM_1).
Follow-up to #21 .
4 years ago
Pete Johanson
32e7159373
refactor(hid): Mod defines in dedicated header.
4 years ago
Okke Formsma
4f258efbf1
initial implementation for modifiers
...
https://github.com/zmkfirmware/zmk/issues/86
4 years ago
Joel Spadin
8f666cecc9
feat(endpoints): clear HID report on endpoint change
...
This prevents stuck keys when switching endpoints by clearing
everything in the HID report and sending one last report before
switching to the new endpoint.
4 years ago
innovaker
c402e953f6
feat(hid): Make keypad report boot friendly
...
Add missing byte to make keypad report boot friendly.
4 years ago
innovaker
8ce7d8de01
refactor(hid): Refactor consumer report to a configurable size
4 years ago
innovaker
f4596fc784
refactor(hid): Refactor keypad report to use a configurable integer array
...
Replace NKRO bit array with configurable integer (DV) array.
4 years ago
Pete Johanson
191a2d755a
chore: clang-format the codebase.
...
* Use the LLVM style
* Override indent width (8) and column limit (100)
* Fixes #142 .
4 years ago
Pete Johanson
68e72f9275
fix: Switch to single AUTHORS file.* Closes #164
4 years ago
Pete Johanson
55cf9db564
Fix consumer keys w/ refactored behaviors.
4 years ago
Pete Johanson
ec663310c1
Clean up after refactor, better HID constants.
4 years ago
Pete Johanson
38f1dbd984
Move Zephyr app into subdirectory.
5 years ago
Pete Johanson
8de6c85b74
Implement a basic set of consumer page keycodes.
5 years ago
Pete Johanson
6e1e21c2be
Add missing returns for the new modifiers functions.
5 years ago
Pete Johanson
53aadc4f93
Initial exploration of mod tap action.
5 years ago
Pete Johanson
0db57b0c12
Fix for return value from HID mod functions.
5 years ago
Pete Johanson
585e062e87
Initial basic modifiers support.
5 years ago
Pete Johanson
c1905745b3
Refactor build/config/keymaps.
...
* Move all headers to `include/zmk` directory.
* Update includes to reference them properly.
* Add `keymap.c` file from keymap, if found.
* Toplevel CONFIG_ZMK_BLE aggregate config setting.
5 years ago
Pete Johanson
73bea6218e
Some initial BEL HoG support.
5 years ago