Okke Formsma
200c6cabea
refactor(hold-tap): use enum for hold-tap status
2021-02-24 07:24:27 -05:00
Okke Formsma
6b7026cdd1
refactor(hold-tap): simplify flavor enum
2021-02-24 07:24:27 -05:00
Nick Winans
57661362ea
refactor(ext-power): Add init-delay-ms option
...
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2021-02-16 14:51:32 -05:00
Nick Winans
b43fb8502e
fix(ext-power): Initialize as soon as settings are available
2021-02-16 14:51:32 -05:00
Pete Johanson
ff7891c097
fix(display): Check for display in idle handler.
...
* Closes #679
2021-02-16 14:21:46 -05:00
Okke Formsma
af9d6e9b05
style(hold-tap)!: Write hold-tap params with dashes
...
tapping_term_ms -> tapping-term-ms
quick_tap_ms -> quick-tap-ms
The old style works, although it's deprecated.
2021-02-10 07:55:12 -05:00
Pete Johanson
2af794eed3
feat(underglow): Convert HSB changes to absolute.
...
* Public type for HSB led color.
* New API for calculating "next" HSB based on current
state.
* Update behavior to convert the increment/decrement
commands to absolute command as well.
2021-02-09 01:27:50 -05:00
Pete Johanson
e6f168d6df
refactor(behaviors): Convert state dependent params.
...
* Allow each behavior to map a relative binding, e.g. "toggle",
to an absolute one, e.g. "on", before being invoked.
2021-02-09 01:27:50 -05:00
Pete Johanson
bb2c478af9
refactor(rgb): Expose explicit on/off command/API.
2021-02-09 01:27:50 -05:00
Nick Winans
fc5d7bcb78
fix(boards): Remove explicit enable of sensor
2021-02-08 10:50:44 -05:00
Nick Winans
5eace0bbc4
fix(core): Enable sensor by default
2021-02-08 10:50:44 -05:00
KemoNine
0499e7e8ac
Refactor nibble / update to match build docs ( #620 )
...
* feat(nibble): add underglow support for nice_nano builds
* feat(nibble): add encoder to top, left most column to match standard assembly documentation
* refactor(nibble): add layer labels
* feat(nibble): add support for optional display ; off by default
* feat(nibble): add README
* fix(nibble): adjust oled rotation for easier reading
* fix(nibble): add additional note about enabling oled
* refactor(nibble): convert keymap to use tabs instead of spaces
* refactor(nibble): enable oled in dts/overlay by default
* refactor(nibble): cleanup alignment and formatting in nibble keymap
* refactor(nibble): re-align top most row of keymap to be sensible
* refactor(nibble): cleanup kscan map alignment
* refactor(nibble): indent first row of map/transform to properly align with physical columns
* fix(nibble): remove dangling code block from readme
Co-authored-by: KemoNine <mcrosson@kemonine.info>
2021-02-04 10:28:02 -06:00
jrhrsmit
e40ca1eb7c
fix(power): Add support for capacitors on ADC for BVD
...
Add a little delay so any capacitors connected to the ADC for the BVD can charge up when using power_gpios
Co-authored-by: Jasper Smit <jrhrsmit@gmail.com>
2021-02-04 07:56:27 -05:00
Pete Johanson
b84d29c384
refactor(core): Use /omit-if-no-ref/ for behaviors.
...
* Use lesser-known DT features to skip behaviors not referenced
in the user keymap
* Update the behaviors to skip code if no nodes found.
* Remove some empty config/data structs where unused in
behaviors.
2021-02-04 00:52:25 -05:00
mantas
b4d63fb52c
feat(shields) Add encoder support to CRBN
...
Pin A maps to A2 (F5), pin B to A3 (F4).
Added keymappings to encoder on default and lower layers.
2021-02-03 23:49:59 -05:00
mantas
c94943da1c
style(crbn): Unify indentation from spaces to tabs
2021-02-03 23:49:59 -05:00
KemoNine
cd503ed17b
Feat combo layers ( #661 )
...
feat(combos): add layer filtering
Co-authored-by: KemoNine <mcrosson@kemonine.info>
2021-02-03 23:33:09 -05:00
Okke Formsma
9a7908b632
behaviors(hold-tap): Implement quick_tap_ms (TAPPING_FORCE_HOLD)
...
Tap-and-hold a hold-tap to hold the tap behavior so it can repeat.
After a tap, if the same key is pressed within `quick_tap_ms`, the
tap behavior is always picked.
This is useful for things like `&ht LSHFT BACKSPACE` where holding
the backspace is required.
Implements #288 .
2021-02-02 15:28:16 -05:00
Pete Johanson
6c7ab0ce53
refactor(kscan): Fix polling of GPIO matrices.
...
* Add easier macros for conditional polling/interrupt code.
* Properly continue polling on intervals, without extra
enable/disable code for pins that is superfluous when not trying to
deal with interupts firing.
* Fix to allow multiple GPIO drivers when doing splits w/ IO expanders
2021-02-02 14:04:10 -05:00
Pete Johanson
2f352788c1
refactor(kscan): Remove explicit default n from kscan configs.
...
* Actually allow defaulting yes in other places.
2021-02-02 14:04:10 -05:00
Nick Winans
33cd2caced
fix(boards): Shorten keyboard names that are too long
2021-02-02 00:59:17 -05:00
Nick Winans
82173f354e
fix(core): Assert BLE device name is correct length
2021-02-02 00:59:17 -05:00
Okke Formsma
4e20bf5de1
refactor(behaviors): simplify hold-taps by not using _TRANSFORM_ENTRY
2021-02-02 00:43:26 -05:00
Okke Formsma
84d19fe79b
refactor(behaviors): factor out multiple uses of _TRANSFORM_ENTRY
2021-02-02 00:43:26 -05:00
Jeff Rizzo
4f040fecdf
Add a missing log_strdup()
2021-01-30 00:31:07 -05:00
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
Nick
6047415b1c
Fix build for boards without voltage divider
2020-10-23 01:19:47 -05:00
Nick
8efcd80f3a
Add missing ADC and fix formatting
2020-10-23 00:57:32 -05:00
Nick Winans
70ffcca3b4
Merge branch 'main' into bluetooth/battery-reporting
2020-10-23 00:55:50 -05:00
Nick
162c6b77db
clang-format and add missing defconfig values
2020-10-23 00:50:39 -05:00
Nick
3082455aec
Refactor driver to use Sensor API
2020-10-23 00:45:59 -05:00
Carey
6aae667826
merge changes from master
2020-10-20 21:47:49 -05:00
Pete Johanson
ef37f17796
Merge pull request #109 from Nicell/underglow/state-persistence
...
Add RGB underglow state Kconfig and settings
2020-10-18 22:29:55 -04:00
Pete Johanson
36d3d01a22
feat(usb): Add proper USB product ID.
...
* Use openmoko product ID from:
https://github.com/openmoko/openmoko-usb-oui/pull/15
2020-10-18 13:24:37 -04:00
Pete Johanson
3ecd7e42ab
Merge pull request #282 from petejohanson/ble/advertising-power-savings
...
BLE: Only advertise when needed.
2020-10-18 00:32:48 -04:00
Pete Johanson
9d512eaef0
fix(bluetooth): Add adv data in non-peripherals.
2020-10-16 09:49:28 -04:00
Pete Johanson
b07475b7d4
fix(bluetooth): Stop adv on connected profile.
2020-10-16 00:56:05 -04:00
Pete Johanson
818f0a1f91
fix(bluetooth): Advertise name + appearance.
...
* Properly put device name and GAP appearance
in advertising packets, for proper display in
macOS, Android, etc.
* Closes #124
2020-10-16 00:48:53 -04:00
Pete Johanson
e468677c4e
fix(shields): Proper cradio Kconfig setup.
2020-10-15 20:29:00 -04:00
Pete Johanson
ed28f5a6a3
Merge pull request #224 from davidphilipbarr/cradio
...
Cradio
2020-10-15 17:21:23 -04:00
Pete Johanson
204d1300ba
fix(ble): Only advertise when needed.* Once we have a peer connected to for the active profile, don't continue advertising.
2020-10-15 00:51:21 -04:00
Pete Johanson
3186a553a5
fix(shields): Add default qaz.conf file.
2020-10-13 21:00:54 -04:00
Pete Johanson
59e8c58051
fix: Copyright header for cradio.dtsi
2020-10-13 00:11:08 -04:00
Pete Johanson
f35d9f8f69
Merge pull request #258 from megamind4089/dev/ext-power-behavior
...
New behavior for ext power control
2020-10-13 00:01:32 -04:00
Pete Johanson
eee8eb6e77
fix: Single author file copyright header fix.
2020-10-12 13:04:24 -04:00
Pete Johanson
6d9aa4f5ea
fix: Updated copyright headers to single author file.
2020-10-12 13:03:10 -04:00
Mega Mind
2e649b7fd4
Fix compilation errors and minor tweaks
2020-10-13 00:09:57 +08:00
Mega Mind
4adcb396ff
Rebased and fixed nasty code
2020-10-12 23:54:56 +08:00
Pete Johanson
a2b4a08ddc
Merge pull request #226 from mubeenkhan94/tg4x-shield-dev
...
Add TG4X rev 2.1 shield
2020-10-12 11:49:54 -04:00
Mega Mind
5d1c083959
Added toggle and removed a param
2020-10-12 23:42:01 +08:00
Mega Mind
b5e1c8a7ad
New behavior for ext power control
2020-10-12 23:42:01 +08:00
Pete Johanson
367dcd4820
Merge pull request #267 from nuxiom/fix-matrix-polling
...
Fix matrix polling conditional macro
2020-10-12 10:38:34 -04:00
Mubeen Khan
d45e7b3c11
Merge pull request #7 from zmkfirmware/main
...
Update to stay even with upstream main
2020-10-11 23:17:04 -05:00
Kellen Carey
8b9b247592
allow ble to be enabled if split transport is ble
2020-10-11 20:11:19 -07:00
Kellen Carey
8e298ec701
happy with layout, need to improve interactions
2020-10-11 18:05:27 -07:00
Kellen Carey
7a2314ef59
refactor kconfig to look nicer
2020-10-11 17:36:32 -07:00
Joel Spadin
7798c974f6
fix: don't leak bt_conn refs
...
bt_conn_lookup_addr_le() gives us a new reference that must be released
with bt_conn_unref()
2020-10-11 17:04:34 -05:00
Nuxiom
1c0c02e097
Reformatted according to clang-format lint
2020-10-11 17:51:06 +11:00
Nuxiom
78cb6c8b21
Fix kscan_gpio_irq_callback_handler_##n conditional macro
2020-10-11 17:33:07 +11:00
Mubeen Khan
7fc7a35117
Revised keymap to Qwerty
2020-10-10 16:51:17 -05:00
Okke Formsma
d38740cebf
Add timestamps to position and behavior events ( #147 )
...
* Add timestamps to position events and behaviors.
- Take original event timestamps into consideration so nested tap-holds have proper timing.
- Add position and timestamp to keycode state changed event so the one-shot behavior can properly identify other keypresses and timings.
- Add timestamp to position events received from peripheral
* reduce number of arguments to behaviors
2020-10-10 17:32:53 -04:00
Mubeen Khan
4fd6c14ae9
Merge pull request #4 from zmkfirmware/main
...
make even with main
2020-10-10 16:32:16 -05:00
Pete Johanson
e1dcf1514f
Merge pull request #242 from megamind4089/feature/ext-power
...
[RDY] Driver to control the external power output
2020-10-09 20:40:48 -04:00
Mega Mind
4d81b10ba7
Added driver to control the external power output
...
This PR adds support to control the external power output from controllers like nice!nano, nRFMicro etc
I have implemented based on my understanding of Pete suggestion on this feature.
Testing done:
Tested by enabling and disabling the ext_power from application and verified
Verified the application does not crash with boards that does not have ext_power support
Note:
I did not test this in nice!nano since I don't have the boards. Will get help from others once the behavior PR is up
Next Steps:
Create a behavior PR to control enable/disable ext_power
2020-10-10 08:11:46 +08:00
Kellen Carey
a695d0d359
oops
2020-10-09 12:18:57 -07:00
Kellen Carey
0b125c028c
address pr comments
2020-10-09 11:48:06 -07:00
David Barr
01b0bad7a2
update headers, spruce up keymap, streamline dtsi.
2020-10-09 17:05:09 +01:00
David Barr
2b09174ec1
update header again based on corne
2020-10-08 11:22:34 +01:00
David Barr
ad77df5989
capital C
2020-10-08 11:20:22 +01:00
David Barr
a629aa0b42
Update Kconfig.defconfig
2020-10-08 11:17:53 +01:00
David Barr
eeac54e9a4
Update cradio_left.overlay
2020-10-08 11:16:28 +01:00
David Barr
55c1f51b31
update header
2020-10-08 11:16:08 +01:00
David Barr
a3cdab9e9f
update header
2020-10-08 11:14:46 +01:00
David Barr
24e73f6861
Update cradio.dtsi
2020-10-08 11:12:04 +01:00
David Barr
95b94009a9
remove dupe copyright
2020-10-08 11:11:40 +01:00
David Barr
7d582b6b8e
remove dupe copyright
2020-10-08 11:11:01 +01:00
David Barr
426b25892f
rename gpio to direct polling
2020-10-08 11:09:35 +01:00
Kellen Carey
ca29c40206
clean up keymap
2020-10-07 21:22:08 -07:00
Kellen Carey
f3eaa7e424
working shield, need to improve default keymap
2020-10-07 20:40:04 -07:00
David Barr
d5d8d79a76
Update cradio_right.overlay
2020-10-07 16:23:59 +01:00
Pete Johanson
12b9a37005
Merge pull request #211 from petejohanson/core/keymap-port-event-exploration
...
Use PORT events for kscan matrix interrupts, add option for deep sleep.
2020-10-06 17:32:35 -04:00
Pete Johanson
a7496ab064
feat(power): Initial deep sleep work.
...
* New ZMK_SLEEP Kconfig symbol to enable the functionality.
* Switch to PORT events that allows wake from deep sleep.
* Initial basic power management policy, with idle ms,
and ignoring deep sleep if we detect a USB connection.
2020-10-06 17:24:36 -04:00
Pete Johanson
ce59223efe
fix(shields): Typo in makerdiary URL.
2020-10-05 23:40:29 -04:00
Mega Mind
b8cb5f939a
M60 keymap update and misc changes
...
* Updated M60 keymap
* Make nrfjproj as default runner
* Remove the polling config
2020-10-05 21:24:39 +08:00
Mega Mind
e2299836bc
Update contributors in all keymap files
2020-10-05 21:23:38 +08:00
Mega Mind
9d06c730ba
Added Makerdiary M60 keyboard
2020-10-05 21:23:38 +08:00
Mega Mind
c54decd144
Added Makerdiary M.2 module
2020-10-05 21:23:38 +08:00
Pete Johanson
7d222e1553
Merge pull request #237 from ChaosinaCan/direct-gpio-fix
...
Fix direct GPIO when using interrupts
2020-10-04 23:04:16 -04:00
Pete Johanson
9be566603e
feat(kscan): Use PORT events for kscan matrix interrupts
...
* Lower power usage compared to regular interrupts on nrf52.
2020-10-04 22:03:21 -04:00
Pete Johanson
bbf5a5905a
refactor(usb): Report USB status w/o HID output.
2020-10-04 21:56:09 -04:00
Joel Spadin
4121b07f7f
fix(kscan): fix direct GPIO when using interrupts
...
Fixed initializing interrupts for direct GPIO when
CONFIG_ZMK_KSCAN_DIRECT_POLLING is not enabled. IS_ENABLED() is needed to map
the possibly-undefined value to 0 or 1 so COND_CODE_0() and COND_CODE_1() work.
2020-10-04 14:07:20 -05:00
Joel Spadin
fc5915b200
improvement(kscan): use ARRAY_SIZE macro
2020-10-04 14:07:14 -05:00
Joel Spadin
f6f8abe055
fix(ec11): allow more than one encoder
...
Fixes "device.h:101:11: error: redefinition of '__device_ec11'" in firmware that
has more than one encoder.
2020-10-03 14:05:05 -05:00
David Barr
260044ae5e
Delete default.keymap
2020-10-02 14:17:35 +01:00
David Barr
38a418a1d1
updates as per PR changes (i hope)
2020-10-02 14:16:59 +01:00
Dev
c68e3d3e42
Add missing licensing header
...
Fixes #205
2020-10-02 13:14:31 +05:30
Pete Johanson
307a8d09db
feat(usb): Function to access latest USB status.
...
* To be leveraged by upcoming power
management work.
2020-10-01 17:18:01 -04:00
Pete Johanson
028dfae92e
chore: Fix remaining formatting issues.
2020-10-01 11:43:00 -04:00
Pete Johanson
e993378b2a
chore: Fix some accidental formatting issues.
2020-10-01 11:24:57 -04:00
Pete Johanson
300b753ced
Merge pull request #212 from shurikai/zmk-202
...
Add polling (instead of interrupt) based matrix kscan detection, to avoid interrupt limits on stm32
2020-10-01 00:36:29 -04:00
Mubeen Khan
16df1522c2
Add TG4X rev 2.1 shield
2020-09-30 21:35:51 -05:00
David Barr
17bee0223a
remove ds_store files
2020-09-30 17:12:39 +01:00
David Barr
a3d0c03726
rename cradios to cradio
2020-09-30 16:20:41 +01:00
Pete Johanson
182a6dca1f
fix(bluetooth): Proper max paired/conns.
...
* Proper max values for both split central, and
non-split keyboards.
2020-09-29 12:21:06 -04:00
Jason Chestnut
c2a861c0e6
Modify preprocessor directives to use basic #if !defined() rather than Zephyr macros where appropriate.
2020-09-28 08:24:51 -04:00
jason
9392c4f9ff
Fix preprocessor flag issues for pull request.
2020-09-27 21:27:30 -04:00
Noah Thornton
9afd44b9d4
Provide context on Quefrency physical PCB layouts
...
The Quefrency board has two options for each left and right half,
resulting in 4 unique combinations. This has been noted in the
overlay and dtsi files.
2020-09-26 22:10:14 -05:00
Noah Thornton
24b638dfa3
Apply suggestions from code review
...
Revise copyright header
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2020-09-26 21:09:19 -05:00
Noah Thornton
7f7c7037b0
Add quefrency shield
2020-09-26 11:59:12 -07:00
Jason Chestnut
cfc75a118e
Fix merge error.
2020-09-25 11:51:14 -04:00
Jason Chestnut
cca8337f05
Add support to GPIO matrix driver for matrix polling, rather than interrupt-based IO.
...
- Add ZMK_KSCAN_MATRIX_POLLING config flag to Kconfig
- Update matrix driver code to use the above flag to conditionally add the handling code for polling operations.
2020-09-25 11:49:07 -04:00
Jason Chestnut
b1dce208f8
Add matrix polling logic to matrix GPIO driver.
2020-09-25 11:29:21 -04:00
Jason Chestnut
9668305621
Restore original matrix driver to correct implementation errors.
2020-09-24 17:35:51 -04:00
Jason Chestnut
5c4705d465
Add new matrix scan flag and implementation in the gpio matrix driver.
2020-09-24 14:30:47 -04:00
Jason Chestnut
53425aa3c4
Rename kscan direct wired driver polling kscan flag in preparationfor addition of new matrix driver flag that enables polling.
2020-09-24 07:55:32 -04:00
Kristoffer Onias
8e92ae3089
Remove bt_unpair_combo from romac_plus.overlay
2020-09-23 17:53:41 -07:00
Kristoffer Onias
641524b1b9
Update Keymap legends for consistency
2020-09-23 17:01:40 -07:00
Kristoffer Onias
9fffebd5da
Adopt new BT unpairing standards
2020-09-23 16:31:02 -07:00
Kristoffer Onias
0ce36865b2
Update keyboard name to be more user friendly
2020-09-23 16:23:54 -07:00
Kristoffer Onias
4c092044ce
Adopt single authors headers
2020-09-23 16:21:42 -07:00
Jason Chestnut
31af9646e6
Adding kconfig flag for enabling matrix polling (vs interrupts) on the matrix gpio driver.
2020-09-23 16:05:29 -04:00
Kristoffer Onias
f1fd71c231
Disabled ec11 since it's an optional configuration
2020-09-23 12:39:06 -07:00
Kristoffer Onias
c044fe8532
Add RoMac plus v4 support on nice nano v1
2020-09-21 22:44:00 -07:00
Pete Johanson
90bfe6026d
fix(boards): Flash Planck with dfu-util
.
2020-09-21 09:49:56 -04:00
Pete Johanson
9b89ed7be4
Merge pull request #187 from kurtis-lew/main
...
Fixed Iris default build/Updated Dev Guide
2020-09-19 23:12:17 -04:00
Nick
f5909f9c26
fix(clang-format)
2020-09-19 19:18:03 -05:00
Nick
da0fb965f6
Merge remote-tracking branch 'upstream/main' into bluetooth/battery-reporting
2020-09-19 19:15:05 -05:00
Nick
844f2c7674
Voltage divider driver initial implementation
2020-09-19 19:14:59 -05:00
David Barr
ed5d3646fe
Add files via upload
2020-09-19 10:56:40 +01:00
David Barr
2855ba75f5
Actually really working
...
Ok, both sides work as expected, need to write a keymap.
2020-09-19 10:55:07 +01:00
Nick
608ae0df6d
fix lint with clang-format
2020-09-15 14:47:19 -05:00
Nick
18d21b0362
Merge remote-tracking branch 'upstream/main' into underglow/state-persistence
2020-09-15 14:41:59 -05:00
Nick
81bc157f53
Fix underglow not working by default
2020-09-15 14:31:59 -05:00
Kurtis Lew
d86e571757
Update iris.keymap
2020-09-14 20:47:55 -07:00
kurtis-lew
64c11f15b0
Removed Copyright Header causing Parse Error
2020-09-14 20:19:54 -07:00
Pete Johanson
c0806d27f1
Merge pull request #186 from BrainWart/tests/fix-build-error-fail
...
Integration Tests Should Fail on Build Errors
2020-09-14 10:50:52 -04:00
Pete Johanson
1cf0bad792
Merge pull request #185 from tominabox1/qaz_update
...
QAZ shield keymap update
2020-09-14 10:41:35 -04:00
tominabox1
0bf4467729
Update Kconfig.shield
2020-09-14 09:35:57 -05:00
Cody McGinnis
f6269df5fc
fix(tests): return error code when build fails
2020-09-14 10:34:05 -04:00
tominabox1
42c42ccbbd
Fixed some space/tab issues as well as updated copyright statements
2020-09-14 09:25:31 -05:00
Pete Johanson
9110335142
Merge pull request #183 from petejohanson/ops/clang-format-checks
...
Standardize code formatting using clang-format w/ LLVM style
2020-09-14 09:46:35 -04:00
tominabox1
62c47b1981
Remove duplicate include
2020-09-14 08:46:07 -05:00
tominabox1
63e105db90
Revising keymap to jive with upstream changes
2020-09-14 08:45:31 -05:00
tominabox1
fc167f5f5e
Update QAZ keymap for bluetooth config options and homerow hold-taps
2020-09-14 08:44:20 -05:00
Pete Johanson
2c38947d1d
Merge pull request #184 from Nicell/boards/bt-keymap-bindings
...
feature(board): add BT prof management to defaults
2020-09-14 09:27:26 -04:00
Nick
7b12dc6caf
feature(board): add BT prof management to defaults
2020-09-13 23:29:31 -05:00
Pete Johanson
191a2d755a
chore: clang-format the codebase.
...
* Use the LLVM style
* Override indent width (8) and column limit (100)
* Fixes #142 .
2020-09-14 00:10:34 -04:00
Pete Johanson
4658999e31
fix(bluetooth): Reject pairing to taken profiles.
2020-09-13 22:33:31 -04:00
Pete Johanson
6c8b0b53f0
refactor(bluetooth): More concise names.
2020-09-13 22:33:31 -04:00
Pete Johanson
652bb6ce05
feat(bluetooth): Add new settings_reset shield.
...
* Easy to build board/image that will clear
saved profile/bond information for a fresh
start for keyboards.
2020-09-13 22:33:31 -04:00
Pete Johanson
fb91be5164
fix(bluetooth): Configs for non-splits.
2020-09-13 22:33:31 -04:00