Okke Formsma
c925cf02dd
feature(sticky_keys): add quick-release
...
when quick-release is enabled, the sticky key is released immediately after another key is pressed
2021-01-28 17:10:04 -05:00
Pete Johanson
7c24ab069c
fix(behaviors): Updated grsec snapshots for new log format.
2021-01-25 16:11:01 -05:00
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 .
2021-01-24 23:30:41 -05:00
Okke Formsma
0c30b49063
refactor(modifiers): define is_mods function
2021-01-24 23:30:41 -05:00
Okke Formsma
df4a5c8613
refactor(hid_listener): pass event struct instead of parameters
2021-01-24 23:30:41 -05:00
Ally Parker
a4aaa73f06
feat: Add WPM calculator and display widget
2021-01-23 18:38:31 -05:00
Jeff Rizzo
c0cab57c2d
run-test.sh: use the POSIX '-L 1' for xargs
...
This allows tests to be run on platforms where '-l'
isn't implemented, like MacOS.
2021-01-23 18:32:18 -05:00
Okke Formsma
5eeb310b2f
feat(grave-escape): implement grave-escape
...
closes #85
2021-01-22 19:27:18 -05:00
Jay Greco
58ad5d4e86
Fix offset in NIBBLE transformation and keymap
...
The NIBBLE transformation was missing RC(0,0), which was causing some strange behavior in the kscan driver.
2021-01-22 16:03:14 -05:00
Pete Johanson
3368a81057
refactor(core): Combine is_
and cast_
event functions.
...
* Use a single `as_foo` generated function to conditionally
return a certain event type from a generic `zmk_event_t*`
pointer.
2021-01-20 07:06:11 -05:00
Pete Johanson
3fe2acc2d1
refactor(core): Extra event payloads to own types, refactor API.
...
* Make it easier to use *just* event payloads by defining the data,
and then having event manager macros generate "wrapper structs"
* Improve is_*/cast_* APIs to hide details of full event struct.
* Create `zmk_event_t` typedef to pass to event handlers.
* Bring event names inline w/ consistent `zmk_` prefix.
2021-01-20 07:06:11 -05:00
Pete Johanson
003db892ad
refactor(core): Extra position state change data struct.
...
* Separate header and data struct for the event.
* Remove duplicate struct in split code.
2021-01-20 07:06:11 -05:00
Pete Johanson
95acbd8859
fix(shields): Unflip left Microdox OLED.
2021-01-19 15:57:26 -05:00
innovaker
5978990e6d
chore(core): replace Pete Johanson
with The ZMK Contributors
...
Does not include boards and shields.
2021-01-16 11:30:37 -05:00
Pete Johanson
65e476df3e
fix(splits): Send pos notify from dedicated thread
...
* Avoid deadlocks by using a deadicated workqueue for sending
position state notifications from peripherals.
2021-01-15 13:50:36 -05:00
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.
2021-01-15 13:50:36 -05:00
Pete Johanson
a0c32bb47e
fix(bluetooth): improve LE param update logging
2021-01-15 13:50:36 -05:00
Pete Johanson
a5c39dfa76
fix(ble): Perform GATT notifies from dedicated queue.
...
* Zephyr BT stack frees TX buffers from system workqueue,
and to avoid blocking waiting to allocate, perform notify
from a dedicated queue.
2021-01-15 13:50:36 -05:00
Pete Johanson
4aa78a6f8d
fix(split): Use queue/work for peripheral events.
...
* Avoid corruption by using work to process
peripheral key position events on the main
work thread, like local kscan events are.
* Fixes #221
2021-01-15 13:50:36 -05:00
Pete Johanson
969e5568af
fix(boards): Define but don't enable uart0.
...
* Set pro-micro TX/RX pins, but don't enable the UART
by default.
2021-01-15 01:51:44 -05:00
innovaker
1d18900a99
refactor(core): define usage page as uint16_t
...
Aligns with the HID specification.
Usage page values were sometimes declared as uint8_t and sometimes uint16_t. This commit aligns all instances with the HID specification for consistency.
PR: #521
2021-01-15 01:48:39 -05:00
Okke Formsma
feb0d5b90c
feat(combos): initial implementation
...
closes #45
2021-01-13 21:07:41 -05:00
Nick Winans
002a89765f
refactor(Kconfig): Set USB default based on hardware capabilities
...
Removes the USB default under every split right half in favor of a default based on hardware capabilities in the main app Kconfig.
2021-01-08 16:51:50 -05:00
KemoNine
6345bd5468
Remove setting the animation/effect when setting hsv ; some of the effects like glowing will use the hsv color specified
2021-01-08 16:08:13 -05:00
KemoNine
99f932a47d
(feat) Allow setting underglow color by key press
2021-01-08 16:08:13 -05:00
Nick Winans
97ed0cc733
feat(core): Add USB logging Kconfig option
2021-01-08 13:03:39 -05:00
KemoNine
5880a284c1
feat(tg4x): Reconcile with official keymap and tidy-up
2021-01-08 10:14:43 +00:00
KemoNine
28bec8541b
style(tg4x): Convert Kconfig spaces to tabs
2021-01-08 10:14:43 +00:00
KemoNine
7fd8561b45
fix(tg4x): Add tg4x.conf to mirror other shield setups
2021-01-08 10:14:43 +00:00
innovaker
7fc28328d0
refactor(tg4x): Cleanup tg4x overlay
...
Tidies pin definitions and map.
2021-01-08 10:14:43 +00:00
innovaker
de6ce05391
chore(tg4x): fix copyright header
2021-01-08 10:14:43 +00:00
KemoNine
185ff462d6
docs(tg4x): Add readme for tg4x
2021-01-08 10:14:43 +00:00
KemoNine
cd8567071b
fix(tg4x): Fix tg4x keyboard name in Kconfig
2021-01-08 10:14:43 +00:00
KemoNine
3e4f2a3dc3
feat(tg4x): Add underglow support for tg4x + nice_nano
2021-01-08 10:14:43 +00:00
innovaker
561e535a58
refactor(shields): standardize README.md filenames
...
Renames instances of `readme.md` to `README.md` so that it's easily noticed.
PR: #561
2021-01-07 00:34:04 -05:00
innovaker
f17584ca0e
chore: standardize # style headers
...
Changes made with regex plus some manual tweaks.
Find:
/(?:(?<!#!\/bin\/sh\n)(?:^#\n))*^#.*?[Cc]opyright.*?(\d{4}) *([0-9A-z,_\- ]+).*?\n(?:^#\n)*^#.*?SPDX-License-Identifier:? *(.+) *?\n(?:^#\n)*/gm
Replace:
# Copyright (c) $1 $2
# SPDX-License-Identifier: $3
PR: #564
2021-01-06 17:00:44 -05:00
KingCoinless
5c11962d98
feat(shields): add helix shield
...
PR: #429
2021-01-05 18:56:47 +00:00
Nick Winans
e5b1f1e1be
fix(shield): BFO9000 uses USB on right
2021-01-04 14:08:00 -05:00
Pete Johanson
992cee1bac
feat(display): Show layer label in widget.
2021-01-04 13:02:38 -05:00
Pete Johanson
a55b1397c9
feat(keymap): API for retrieving label for a layer
2021-01-04 13:02:38 -05:00
pbz
dcd665999a
feat(shields): add bfo9000 shield
...
PR: #472
2021-01-02 18:52:50 +00:00
Okke Formsma
319ce30270
chore(behavior): use ZMK_BEHAVIOR_OPAQUE in to-layer behavior
2021-01-02 08:08:51 -05:00
Okke Formsma
fa07ba9d32
refactor(behaviors): use ZMK_BEHAVIOR_OPAQUE and ZMK_BEHAVIOR_TRANSPARENT
...
Use these instead of the magic return values 0 and 1 for
behavior_driver_api return values.
2021-01-01 23:07:54 -05:00
Okke Formsma
caa285852a
refactor(events): return 'ZMK_EV_EVENT_BUBBLE' instead of magic number 0
2021-01-01 23:07:54 -05:00
innovaker
5a72662898
chore: standardize C style headers
...
Changes made with regex plus some manual tweaks.
Find:
/^\/\*.*\n(?:^\*.*\n)*^.*\*.*?[Cc]opyright.*?(\d{4}) *([0-9A-z,_\- ]+).*?\n(?:^.*\*.*\n)*^.*\*.*?SPDX-License-Identifier:? *(.+) *?\n(?:^.*\*.*\n)*.*\*\//gm
Replace:
/*
* Copyright (c) $1 $2
*
* SPDX-License-Identifier: $3
*/
PR: #565
2021-01-01 23:06:41 -05:00
innovaker
61893e453b
refactor(app): format with prettier ( #563 )
...
prettier --write .
PR: #563
2021-01-01 22:55:52 -05:00
KemoNine
a3ac0cb5be
feat(shields): add ws2812 underglow support to lily58 (nice_nano)
2021-01-01 21:29:22 +00:00
Mango The Fourth
5752b4fbda
feat(shields): add eek shield
...
PR: #529
2021-01-01 14:33:19 +00:00
Pete Johanson
39490552f2
feat(boards): Add BDN9 Rev2 board.
...
* Onboard stm32f072.
* 3 possible encoder positions.
* Underglow/per-key not yet support.
2020-12-31 14:46:15 -05:00
Pete Johanson
5072590af5
fix(sensors): Use status filter on sensors node.
2020-12-31 14:46:15 -05:00
Pete Johanson
d698847769
fix(power): Fix for 2.4 API changes.
2020-12-30 09:29:57 -05:00
Pete Johanson
1c822754c0
fix(west): Restore atmel west module.
2020-12-29 23:30:30 -05:00
KemoNine
d207c3c30f
(feature) Add &to keycode/behavior ( #489 )
...
feat(behaviors): Add `&to` behavior to switch to a layer.
2020-12-29 11:57:49 -05:00
Nick Winans
43f6d798be
feat(ext-power): Cut power when PM is sleeping
2020-12-29 08:30:57 -05:00
KemoNine
87dbd4ca28
Add uppermost, current layer status widget to oled ( #493 )
...
* Add uppermost, current layer status widget to oled
* Run clang format
* Fixup display widget source includes in CMakeLists
* Update layer widget to only be enabled on primary half of a split keyboard and shuffle some of the options specific to the widget to be enabled via the widget
* Update to latest lvgl/zmk/zephyr ; remove version text from oled per PR
* Fixup file names
* Remove last remenants of the version display text from the oled
* Fixup clang-format
Co-authored-by: KemoNine <mcrosson@kemonine.info>
2020-12-28 20:17:32 -05:00
innovaker
0e71dbc860
refactor(app): replace zmk_keymap_layers_state with zmk_keymap_layers_state_t
...
Aligns with typedef _t convention.
PR: #531
2020-12-28 10:20:12 -05:00
innovaker
87e7c04b00
refactor(app): replace zmk_mod_flags with zmk_mod_flags_t
...
Aligns with typedef _t convention.
PR: #531
2020-12-28 10:20:12 -05:00
innovaker
05b0d185a8
refactor(app): replace zmk_mod with zmk_mod_t
...
Aligns with typedef _t convention.
PR: #531
2020-12-28 10:20:12 -05:00
innovaker
87179698b4
refactor(app): replace zmk_key with zmk_key_t
...
Aligns with typedef _t convention.
PR: #531
2020-12-28 10:20:12 -05:00
Pete Johanson
4fc17e0b3a
fix(shields): Enable USB by default on right side.
...
* Ensures USB power detection for sleep/charging
is properly detected on the right side by deafult.
2020-12-28 10:16:24 -05:00
Pete Johanson
4db5b169bf
refactor(splits): Ability to override split role.
...
* Move central/peripheral setting to Kconfig.defconfig
files to allow left/right .conf files to override
central/peripheral role for splits.
2020-12-28 10:16:24 -05:00
innovaker
842aa5a842
refactor: replace filename hyphens with underscores
...
Aligns *.h and *.c to underscore naming convention.
These were kept (with warnings) for backwards compatibility with external boards/shields:
- kscan-mock.h
- matrix-transform.h
They should be removed in the future.
PR: #523
2020-12-28 01:15:35 -05:00
Okke Formsma
6927abee6e
chore(tests): remove useless &cp test
2020-12-28 00:39:53 -05:00
innovaker
2233f457b2
chore(display): add header to CMakeLists.txt
...
PR: #533
2020-12-21 23:42:55 -05:00
innovaker
f8e43932ba
refactor(app): remove zmk_action
...
zmk_action isn't referenced anywhere.
PR: #530
2020-12-21 23:34:40 -05:00
innovaker
aa8efa7078
chore(display): add header to Kconfig
...
PR: #534
2020-12-21 23:30:25 -05:00
innovaker
1f5680f0df
refactor(app): remove handlers.h
...
handlers.h isn't referenced elsewhere.
PR: #526
2020-12-21 23:26:52 -05:00
innovaker
0d52915756
chore(display): align status_screen copyright
...
PR: #535
2020-12-21 23:15:53 -05:00
innovaker
89532eadeb
fix(sticky keys): add 0xFF mask to usage_page
...
Aligns unpacking of usage_page with its equivalent line in keycode-state-changed.h
PR: #520
2020-12-17 16:52:15 -05:00
innovaker
e2aef89d99
refactor(endpoints): rename usage_report parameter to usage_page
...
Aligns zmk_endpoints_send_report function declaration with its definition.
PR: #522
2020-12-17 16:40:59 -05:00
KemoNine
565a72bf95
feat(shields): add tidbit and tidbit_19key shields
2020-12-17 10:57:06 +00:00
Okke Formsma
b115f16f4c
refactor(sticky keys): use DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT) instead of DT_NODE_EXISTS(DT_DRV_INST(0))
2020-12-15 13:59:03 -05:00
Okke Formsma
1c2796d1c9
refactor(sticky keys): use pointer to avoid repetition in store_sticky_key
2020-12-15 13:59:03 -05:00
Okke Formsma
bc8803ba50
refactor(sticky keys): rename ZMK_BHV_STICKY_KEY_POSITION_NOT_USED to ZMK_BHV_STICKY_KEY_POSITION_FREE
2020-12-15 13:59:03 -05:00
Okke Formsma
26af11b390
refactor(sticky keys): rename timer_is_started to timer_started
2020-12-15 13:59:03 -05:00
Nick
ae63ce5ee7
fix(settings): Add missing err handlers on settings_register
2020-12-14 22:46:49 -05:00
Nick
2204a5dce4
refactor(settings): Debounce BLE/endpoint settings saves
2020-12-14 22:46:49 -05:00
Nick Winans
69d48c5715
refactor(settings): Only load used subtrees
2020-12-14 22:46:49 -05:00
Pete Johanson
b5e17e3b0f
feature(display): Blank display on idle/sleep.
...
* Set display blanking, and stop refresh timer for displays
when the activity state goes to idle/sleep, and resume
when transitioning to active again.
2020-12-14 15:31:10 -05:00
Pete Johanson
f7c16dfe69
refactor(power): Extract activity/idle detection.
...
* Refactor power to extract more general purpose
activity detection/events.
* Use activity state to implement PM callback.
2020-12-14 15:31:10 -05:00
innovaker
95a2927098
fix(tests): convert ZMK_CONFIG to an absolute path
...
Zephyr 2.4.0 requires ...
set(DTS_ROOT)
list(APPEND DTS_ROOT)
... to use absolute paths.
And therefore ZMK_CONFIG as well.
See: zephyrproject-rtos/zephyr#28180
PR: #467
2020-12-14 12:41:25 -05:00
Pete Johanson
5ec1eefb2c
refactor(display): Update to new LVGL v7.x API.
...
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
0d4476d148
refactor(app): remove _gatt_
infixes from BT DIS and BAS services
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
250cc07749
refactor(app): replace LVGL_VER_RES
with LVGL_HOR_VER_MAX
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
edba0d44a3
refactor(app): replace LVGL_HOR_RES
with LVGL_HOR_RES_MAX
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
f7d9d52221
refactor(app): replace void
with const struct device *dev
in ISR CBs
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
00ca0d2f1c
refactor(app): replace struct device *
with const struct device *
...
Replaced with RegExp: /(?<!const )(struct device \*)/g
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
1411092a7b
refactor(app): replace driver_data
with data
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
33c959d031
refactor(app): replace driver_api
with api
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
3d7376d2e5
refactor(app): replace config_info
with config
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
090b5d4c13
feat(app): upgrade to Zephyr v2.4.0 + ZMK fixes
...
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
bac1f17cf6
refactor(app): replace Zephyr integer types with C99 integer types
...
u8_t → uint8_t
u16_t → uint16_t
u32_t → uint32_t
u64_t → uint64_t
s8_t → int8_t
s16_t → int16_t
s32_t → int32_t
s64_t → int64_t
Prerequisite for #223
See: https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.4.0
PR: #467
2020-12-14 12:41:25 -05:00
Okke Formsma
b4c0967645
fix(west) test command should not swallow errors.
2020-12-10 11:41:42 -05:00
Joel Spadin
77c16b020e
improvement: upgrade default keymaps
...
Ran all the default keymaps through the keymap upgrader and manually adjusted
alignment.
2020-12-10 12:05:21 +00:00
KemoNine
2427a4ab33
feature(keymaps): Keymap layer state event, highest layer API
...
* Fire an event w/ layer number, state, and timestamp
when a layer is activated/deactivated.
* Add `zmk_keymap_highest_layer_active()` query.
Co-authored-by: KemoNine <mcrosson@kemonine.info>
2020-12-09 09:35:57 -05:00
Pete Johanson
e6a27b15c1
fix(kscan): Fix building kscan for tests.
2020-12-08 22:20:12 -05:00
ReFil
b0c525df72
feat(shields): add CRBN shield
...
Co-authored-by: innovaker <66737976+innovaker@users.noreply.github.com>
PR: #483
2020-12-07 16:49:37 +00:00
Pete Johanson
7ea1892bbb
fix(display): All display updates in work thread.
...
* Make sure all LVGL access is from main work thread.
2020-12-06 22:47:21 -05:00
Pete Johanson
0d80220e14
fix(ble): Raise profile events from work thread.
...
* Make sure we don't raise events from BLE
host thread.
2020-12-06 22:47:21 -05:00
Okke Formsma
e00eceb508
fix(sticky keys): fix tapping-sticky-keys bug.
...
Sticky keys should be cleared when they were tapped in rapid succession before the timer runs out.
2020-12-06 00:33:20 -05:00
Okke Formsma
f86e0fff14
fix(sticky keys): always clear sticky key when releasing the behavior
2020-12-06 00:33:20 -05:00
Okke Formsma
2ba16c2f3d
fix(sticky keys): use correct timestamp when clearing sticky key in timer
2020-12-06 00:33:20 -05:00
Okke Formsma
37946ff57b
fix(sticky keys): simplify timer management
2020-12-06 00:33:20 -05:00
innovaker
a5bddcedbe
build(west): migrate to zmkfirmware/zephyr fork
...
Replaces `petejohanson` with `zmkfirmware` for ZMK's fork of Zephyr (branch `zmk-v2.3.0-with-fixes`)
PR: #468
2020-12-04 17:00:38 -05:00
innovaker
82625c6bb5
build(cmake): remove unnecessary SYSCALL_INCLUDE_DIRS for drivers
...
PR: #406
2020-12-04 16:53:52 -05:00
Pete Johanson
ca38894e07
fix(drivers): Remove conditional from directories.
2020-12-04 16:25:32 -05:00
innovaker
8d9ae1fdf3
refactor: Align drivers with Zephyr file system conventions
...
PR: #400
2020-12-03 21:06:01 -05:00
Nick
177b28f01d
refactor(settings): Add Kconfig option for settings debounce
2020-12-02 19:54:48 -05:00
Pete Johanson
8b91918352
refactor(shields): Cradio to use interrupts now.
2020-12-02 16:46:05 -05:00
Pete Johanson
e0fede4aa5
refactor(kscan): Use PORT events for direct driver
...
* Switch interrupt configuration so nRF52 uses
PORT events for lower power use, and wake
from deep sleep.
* Closes #272
2020-12-02 16:46:05 -05:00
Pete Johanson
b3f3362b50
feat(display): Initial widget/status screen work.
...
* Battery and output status widgets
* Built in status screen combining them.
* Ability to define a custom status screen factory
function.
2020-12-02 16:04:56 -05:00
Pete Johanson
d5ea426975
refactor(battery): Fire event on battery event.
2020-12-02 16:04:56 -05:00
innovaker
7b3a55cf50
refactor(ble): silence warning auth_passkey_display
not used
...
Silences the following build warning ...
../src/ble.c:407:13: warning: 'auth_passkey_display' defined but not used [-Wunused-function]
407 | static void auth_passkey_display(struct bt_conn *conn, unsigned int passkey) {
2020-12-01 07:21:45 -05:00
4pplet
924a598920
Updated function calls with missing reference. GPIO missing.
...
Updated function calls with missing reference. GPIO missing.
To my understanding:
DT_INST_GPIO_PIN() should be called instead if DT_INST_PIN()
DT_INST_GPIO_FLAGS() should be called instead if DT_INST_GPIO_FLAGS()
Current implementation does not compile when using control pin.
2020-11-29 21:12:26 -05:00
Okke Formsma
3bf770a364
bugfix(sticky keys): release active sticky keys properly
...
see https://github.com/zmkfirmware/zmk/issues/445
2020-11-29 20:16:51 -05:00
innovaker
307fd5d250
chore(build): format west.yml
...
Realigns with Prettier formatting.
Discrepancy introduced by c067629c83
PR: #440
2020-11-28 12:21:19 -05:00
innovaker
90123caa4c
build(west): add clone-depth = 1 to zephyr and uf2
...
This reduces zephyr's footprint to 33% and dramatically reduces the cloning times (west update).
PR: #441
2020-11-28 12:16:17 -05:00
Nick
093719a3b8
feat: Add settings support for external power
...
fix: clang-format and setting state variable
fix: Fix startup settings configuration
fix(ext_power): Add static to state
fix(ext_power): Set default settings value
Use driver data status instead of global file state
2020-11-28 01:44:35 -05:00
Okke Formsma
76a6d7b4c5
feat(sticky keys): initial implementation
2020-11-28 00:58:24 -05:00
Okke Formsma
bee45f9b3a
feat(events): add timestamp to keycode_state_changed and sensor_event
...
These timestamps are necessary to correctly deal with delayed events due to hold-tap shenanigans.
2020-11-28 00:58:24 -05:00
Okke Formsma
db10931439
fix(tests): fix testrunner for 'all'
2020-11-23 15:57:55 -05:00
Nick
248b360f47
fix(ug): Start tick without settings state available
2020-11-23 12:42:27 -05:00
Nick
076fcc1f70
fix(underglow): Fix error on release of rgb_ug
2020-11-22 21:23:29 -05:00
Nick
a1d3230eef
feat(underglow): RGB toggle controls ext_power
...
fix(ug): Don't return if finding ext power fails
fix(ug): Move ext_power to a static variable
Add #if defs
2020-11-22 21:23:29 -05:00
innovaker
3bf01200f7
refactor(scripts): capitalize ZMK in west test script
2020-11-22 10:05:21 -05:00
innovaker
ae924b3594
refactor(hid): replace kp_report
with keyboard_report
...
Aligns with other existing conventions.
2020-11-22 10:04:35 -05:00
Okke Formsma
2f1170c01a
feat(tests): run subdirectory of tests
...
example: `west test tests/hold-tap` will run all hold-tap tests.
2020-11-22 10:03:56 -05:00
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.
2020-11-21 15:52:16 -05:00
Okke Formsma
c067629c83
Create west test
command to run zmk testsuite.
2020-11-21 14:47:01 -05:00
innovaker
b6e63683d4
refactor(hid): Replace modifier usage values with their cpp definitions
...
Improves readability of the HID reports.
2020-11-20 22:26:42 -05:00
innovaker
67a6646cd7
chore: add copyright to core Kconfig
2020-11-20 22:25:28 -05:00
innovaker
d50f4afc7e
build: set zmk_config.cmake cmake_minimum_required to VERSION 3.15
...
3.15 is the minimum version required to facilitate list(PREPEND) used within zmk_config.cmake.
https://cmake.org/cmake/help/v3.15/command/list.html
Fixes #402
2020-11-20 22:24:29 -05:00
innovaker
1c8321566a
fix(drivers): rename module.yaml to module.yml
...
module.yaml is not a valid module filename.
See Zephyr `scripts/zephyr_module.py`
2020-11-20 22:23:20 -05:00
krikun98
f60439802d
Jian shield
2020-11-17 16:23:39 +00:00
krikun98
3d030ec2ab
Jorne shield
2020-11-17 16:23:39 +00:00
Okke Formsma
6dcd06bd46
add license headers to behavior dtsi files
2020-11-16 17:26:42 -05:00
Okke Formsma
e48a6b659c
fix momentary layer bug when top layer is not &trans
...
Key release events released keys on the wrong layer if the 'top layer'
was not &trans above the &mo key.
base <&mo 1>
layer 1 <&kp B>
This was caused by overwriting
`zmk_keymap_active_behavior_layer[position]` after the &mo key was
handled.
2020-11-16 17:19:27 -05:00
Pete Johanson
11a85f651a
refactor(shield): Formatting tweaks for QAZ.
2020-11-16 11:22:29 -05:00
Xudong Zheng
51ca4fbc18
Fix connection to incorrect peripheral
2020-11-11 13:16:31 -05:00
Nick
91e3a7d75a
boards: Cleanup and standardize features
2020-11-10 23:14:38 -05:00
Nick
ae51000d60
fix(underglow): Switch from legacy SPI to SPIM
2020-11-10 23:06:29 -05:00
innovaker
c21897856b
refactor(app): Replace HID_EXT_USAGE
with HID_USAGE
...
Simplifies terminology and improves readability.
2020-11-10 21:00:20 +00:00
Pete Johanson
0031f9bd4d
Merge pull request #357 from petejohanson/ble/remove-unpair-combo
...
fix(ble): Remove unpair combo code.
2020-11-10 15:04:28 -05:00
Pete Johanson
7d16186b7a
fix(ble): Remove unpair combo code.
...
* Favor the settings reset images for this.
2020-11-10 14:53:03 -05:00
Nick Winans
413a917d14
Merge branch 'main' into underglow/add-config_
2020-11-10 13:31:11 -06:00
innovaker
348a44a8a3
refactor(app): Remove obsolete include's of hid_usage_pages.h
...
This should've been done in eff1b8223b
.
2020-11-10 14:22:53 -05:00
Pete Johanson
972158181d
fix(shields): Replace Corne w/ Microdox.
2020-11-10 11:20:17 -05:00
Nick
0be904c34f
fix(underglow): Add CONFIG_ to underglow Kconfigs
2020-11-08 10:33:56 -06:00
innovaker
194854ff7b
refactor(hid): Replace 0x01
with HID_USAGE_CONSUMER_CONSUMER_CONTROL
...
This should've changed alongside: 711658206f
2020-11-06 09:53:23 -05:00
Pete Johanson
a4dc92a2b9
refactor: Replace use of cp
with kp
for shields.
2020-11-05 14:55:40 -05:00
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.
2020-11-05 14:55:40 -05:00
innovaker
c6abdb1890
fix(keys): Replace GUI with Application / Context Menu
...
This was a misrepresentation in the standardized keys that originated in earlier code.
2020-11-04 14:31:59 -05:00
innovaker
aebe90908d
test: Replace superseded key names in test keymaps
...
Replace deprecated key names (LSFT, LCTL, RCTL, M_NEXT).
Replace abbreviated names with fully qualified names (LSFT, LCTL, LALT, LGUI, RGUI).
Follow-up to #21 .
2020-11-03 23:50:54 -05:00
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 .
2020-11-03 23:50:54 -05:00
innovaker
a65295c2a7
feat(keys): Standardize keys
...
Deprecate superseded names with comments.
Add standardized key names.
Closes #21 . Closes #158 . Closes #161 . Closes #246 .
2020-11-03 23:50:54 -05:00
innovaker
7e795bf4f9
feat(hid): Enhance consumer report to support higher codes
...
Switch from single byte to double byte usages.
Allow the entire 0x0C page for future compatibility.
Closes #234 . Co-requisite of #21 .
2020-11-03 23:50:54 -05:00
innovaker
711658206f
refactor(hid): Replace Zephyr usages with ZMK usages in HID reports
...
Replace `USAGE_GEN_DESKTOP` with `HID_USAGE_GD`.
Replace `USAGE_GEN_DESKTOP_KEYBOARD` with `HID_USAGE_GD_KEYBOARD`.
Replace `USAGE_GEN_DESKTOP_KEYPAD` with `HID_USAGE_KEY`.
Replace `0x0C` with `HID_USAGE_CONSUMER`.
Closes #217 .
2020-11-03 23:50:54 -05:00
innovaker
e925319e4c
refactor(hid): Replace deprecated HID usage page references
...
Deprecate `USAGE_KEYPAD` and replace with `HID_USAGE_KEY`.
Deprecate `USAGE_CONSUMER` and replace with `HID_USAGE_CONSUMER`.
Closes #217 .
2020-11-03 23:50:54 -05:00
innovaker
3c0a0ff308
feat(hid): Add preprocessor definitions for HID usages v1.21
...
Developed from specification:
https://usb.org/sites/default/files/hut1_21.pdf
Closes #217 . Prerequisite of #21 .
2020-11-03 23:50:54 -05:00
Pete Johanson
dd7ab9914a
Merge pull request #270 from careyk007/refactor_kconfig
...
Refactor Kconfig
2020-11-03 23:05:06 -05:00
Nick
1af4221908
feat(underglow): Debounce state settings save
2020-11-03 22:08:20 -05:00
Pete Johanson
a29e041b1f
fix: Formatting fix.
2020-11-03 00:30:42 -05:00
Pete Johanson
32e7159373
refactor(hid): Mod defines in dedicated header.
2020-11-03 00:21:20 -05:00
Okke Formsma
55b5936d00
clang-format
2020-11-03 00:19:37 -05:00
Okke Formsma
4f258efbf1
initial implementation for modifiers
...
https://github.com/zmkfirmware/zmk/issues/86
2020-11-03 00:19:37 -05:00
Nick
82a5736d08
fix(boards): Remap flash to account for bootloader
2020-11-02 23:07:23 -05:00
Nick Winans
89b8bfc95d
fix(battery): Only log if finding battery device failed
...
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2020-11-01 23:00:54 -05:00
Nick
953de71646
feat(battery): Add BAS GATT reporting
2020-11-01 23:00:54 -05:00
Nick
74fa113d88
fix(boards): Rename BVD labels
2020-11-01 23:00:54 -05:00
Nick
8779563896
fix(bvd): Add SENSOR_CHAN_ALL support
2020-11-01 23:00:54 -05:00
Carey
3f4d47a06e
focus on refactor
2020-10-31 07:24:38 -05:00
Pete Johanson
2d31e1d05f
Merge pull request #269 from joelspadin/endpoint-selection
...
feat: only send HID reports to one endpoint
2020-10-31 00:09:47 -04:00
Joel Spadin
821f054071
feat(endpoints): remove redundant connection check
2020-10-28 18:15:05 -05:00
Joel Spadin
440d09fd45
feat(endpoints): simplify behavior constants
2020-10-28 18:15:05 -05:00
Joel Spadin
2fe1fbb526
feat(endpoints): rename behavior to outputs
...
"Outputs" is probably easier for most people to understand than "endpoints".
2020-10-28 18:15:05 -05:00
Joel Spadin
600bba25f0
feat(endpoints): add preferred endpoint setting
...
Added a new setting to remember the user's preferred endpoint. When both USB and
BLE are connected, the preferred endpoint will be used.
Added a new behavior to control this setting. It supports commands:
&end END_USB - Prefer USB output
&end END_BLE - Prefer BLE output
&end END_TOG - Toggle between USB and BLE
2020-10-28 18:15:05 -05:00
Joel Spadin
b538e60532
feat(endpoints): update on BLE profile change
...
Added zmk_ble_active_profile_is_connected() to allow code outside ble.c to check
the status of the active profile, and changed the ble_active_profile_changed
event to also notify when the active profile connects or disconnects.
Changed endpoint selection to to also update when the active profile changes,
connects, or disconnects.
2020-10-28 18:15:05 -05:00
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.
2020-10-28 18:15:05 -05:00
Joel Spadin
1d369ffa73
feat: only send HID reports to one endpoint
...
Added some utility functions and an event for tracking the state of the
USB connection.
Updated endpoints.c to select a single endpoint to send HID reports to
based on the status of the USB and BLE connections. Partially fixes #206 .
Future commits will add a user setting to control which endpoint is used if
both USB and BLE are ready.
2020-10-28 18:15:05 -05:00
Carey
c5172e4337
move initialization priorities to advanced menu
2020-10-28 07:47:22 -05:00
Carey
99ad9cbdef
Merge https://github.com/zmkfirmware/zmk into refactor_kconfig
2020-10-28 07:40:54 -05:00
Pete Johanson
73c83e81ce
Merge pull request #296 from neegool/add_boardsource3x4
...
Add Boardsource 3x4 shield
2020-10-27 23:24:10 -04:00
innovaker
c402e953f6
feat(hid): Make keypad report boot friendly
...
Add missing byte to make keypad report boot friendly.
2020-10-27 22:55:40 +00:00
Nigel Rodriguez
75b7f2a7c5
Remove bt unpair combo + fix keymap
2020-10-28 06:55:00 +08:00
innovaker
8ce7d8de01
refactor(hid): Refactor consumer report to a configurable size
2020-10-27 22:36:26 +00:00
innovaker
f4596fc784
refactor(hid): Refactor keypad report to use a configurable integer array
...
Replace NKRO bit array with configurable integer (DV) array.
2020-10-27 22:36:26 +00:00
Jay Greco
8a98212a02
Update demux kscan driver as per PR feedback
...
- Remove kscan_gpio_irq_callback
- Remove kscan_gpio_irq_callback_handler
- Remove irq_callbacks
+ Add TODO noting timer and sleep state interactions
2020-10-27 12:44:59 -07:00
Jay Greco
1a6fe846e4
Update NIBBLE keyboard name as per PR feedback
...
- Revert accidental VS code settings change
2020-10-27 12:44:59 -07:00
Jay Greco
d90592aac5
Add NIBBLE shield
...
+ Added required files for nullbits NIBBLE
2020-10-27 12:44:59 -07:00
Jay Greco
1522c91d73
Add new kscan_gpio_demux driver
...
+ zmk,kscan_gpio_demux is now a compatible kscan option
+ kscan_gpio_demux is based heavily off of the implementation of
kscan_gpio_matrix, modified to address cols using an n-to-1
demultiplexer chip instead of discrete IO
+ Added zmk,kscan_gpio_demux.yaml file
* modified CMakeLists to include new source files
2020-10-27 18:58:58 +00:00
Pete Johanson
c707ab45ef
Merge pull request #297 from Nicell/boards/reviung41
...
Add Reviung41 Shield Definitions
2020-10-27 00:27:17 -04:00
Pete Johanson
07cf103747
Merge pull request #303 from innovaker/kscan-mock-32
...
feat(kscan_mock): Increase max number of events
2020-10-27 00:03:23 -04:00
Nick
a008731103
Implement Kconfig and enhance error checks
2020-10-26 16:01:57 -05:00
innovaker
9c4b766bc6
feat(kscan_mock): Increase max number of events
...
This is necessary for testing a large number of events (e.g. every key code) within a single build/pass.
The u8_t limitation became apparent during end-to-end testing of #21 .
2020-10-25 20:36:03 +00:00
Nick
7296b96797
Add Reviung41 Shield Definitions
2020-10-24 21:08:00 -05:00
Nick
63007fb6c1
fix: clang-format
2020-10-24 18:54:56 -05:00
Nick
adb07926b1
Remove newlib dep
2020-10-24 18:52:34 -05:00
Nigel Rodriguez
9d624740d9
Fix wrong comment tokens
2020-10-24 12:40:49 +08:00
Nigel Rodriguez
6a9a6e6d8e
Add Boardsource 3x4 shield
2020-10-24 12:21:15 +08:00
Nick
a67a8cd3b8
Check if fetch channel is supported
2020-10-23 22:37:44 -05:00