Commit Graph

369 Commits

Author SHA1 Message Date
Pete Johanson 78059bbbdb Fix up some incorrect license headers. 2020-08-11 14:49:43 -04:00
Pete Johanson bc6b11eb02
Merge pull request #78 from Nicell/docs/rgb
Add RGB documentation
2020-08-10 13:46:46 -04:00
Pete Johanson 030f0dbd07 Tweak note about per-key RGB. 2020-08-10 12:51:01 -04:00
Pete Johanson aebeb7a153 Updated config note about underglow. 2020-08-10 12:36:12 -04:00
Pete Johanson be57b10c56 Initial Corne shield definition.
* Also include a build for Clueboard California macropad.
2020-08-10 11:30:24 -04:00
Pete Johanson 3127192720 Invoke called behavior after layer change.
* If you press a key with a layer active, then
  deactivate the layer (e.g. releasing a `&mo`,
  then release the key, we currently may send
  the wrong key release event.
* Fixes #67.
2020-08-09 12:30:47 -04:00
Nick 8d3ac00f31 Add missing space to comment 2020-08-08 19:02:54 -05:00
Nick d901a0061d Add underglow feature docs + DT fixes 2020-08-08 19:02:00 -05:00
Pete Johanson 726fb4b76f Better default configs. 2020-08-07 15:05:25 -04:00
Pete Johanson d57c271804 Whitespace at EOF fix. 2020-08-07 00:00:35 -04:00
Pete Johanson 2c734c9133 Whitespace tweaks. 2020-08-06 23:59:20 -04:00
Pete Johanson b4ae91a649 Revert some personal Kyria keymap changes. 2020-08-06 23:57:11 -04:00
Pete Johanson 01b8b724c1 Remove debugging line that snuck in. 2020-08-06 23:54:18 -04:00
Pete Johanson 0460631729 Refactor to simpler keymaps. 2020-08-06 23:28:34 -04:00
Pete Johanson fd3ce4ba1c Encoder Kconfig fixes. 2020-08-06 23:22:02 -04:00
Pete Johanson eafd2a83e5 Remove an unneeded include for the keymap. 2020-08-06 14:26:36 -04:00
Pete Johanson fd381e8117
Merge pull request #70 from Nicell/split/2m-phy
Split connection parameter adjustments and 2M PHY added
2020-08-06 11:11:48 -04:00
Pete Johanson f83ec5ce2b Refactor to using .keymap files
* Still just devicetree keymaps.
* Filename can now use `<board>.keymap` or
  `<shield>.keymap` convention, including
  overrides for revisions, etc.
2020-08-06 10:32:06 -04:00
Nick 370cfcc59f Add if block and param req callback comment 2020-08-05 22:38:40 -05:00
Pete Johanson ac802bedb1 Bump delay in scanning while held to 5ms. 2020-08-05 22:58:14 -04:00
Nick cfea5cceb1 Remove updated callback 2020-08-03 17:22:11 -05:00
Nick cdec1645e2 Fix tabs in keymap bottom row 2020-08-02 20:52:28 -05:00
Nick fbaeb95601 Add better default keymap for lily58 2020-08-02 20:46:56 -05:00
Nick f23ca9d7ee Add two solutions to param updates 2020-08-02 15:51:38 -05:00
Nick 880c6e0601 Fix variable name in peripheral PHY update 2020-08-02 15:01:32 -05:00
Nick f26bd495ea Fix interval update, add PHY update 2020-08-02 14:51:42 -05:00
Pete Johanson cd30f440d9 Fix for the right start index for event releases. 2020-08-02 14:10:56 -04:00
Nick bc282a0a4f WIP DZ60RGB board definition 2020-08-02 10:29:07 -05:00
Pete Johanson 8a07938d9b Minor cleanup. 2020-07-31 23:29:32 -04:00
Pete Johanson 8bba1fb738 Major mod-tap improvements.
* Track active mods when mods or keycode
  events occur.
* Use the tracked mods when releasing or
  generating keycode events.
* Track pending/used status in one array, for
  improved storage efficency.
2020-07-31 14:38:10 -04:00
Pete Johanson f548f2a87c Initial stab at mod-tap improvements.
* Not working: Roll over + mod-tap with multiple
  mod-tap bindings!
2020-07-31 00:07:16 -04:00
Pete Johanson cf8c7856ff Add the ability to capture event and release later 2020-07-30 00:13:32 -04:00
Pete Johanson 2f1c3dd538 Remove unneeded macro. 2020-07-29 00:12:35 -04:00
Pete Johanson 2ba4385f49 Merge branch 'main' of github.com:zmkfirmware/zmk into main 2020-07-27 16:28:40 -04:00
Pete Johanson 58cc3edcf6 Add underglow config for Kyria + nice!nano. 2020-07-27 16:28:38 -04:00
Pete Johanson 05d7bd30f3
Merge pull request #66 from Nicell/keycodes/f-keys-prsc
Add F keys and a few other missing HID keycodes
2020-07-27 09:18:22 -04:00
Nick 885176e748 Add a few more keys 2020-07-26 22:31:11 -05:00
Nick 5bbd20b527 Add F keys and print screen 2020-07-26 22:23:26 -05:00
Pete Johanson 4e5a819f3a
Merge pull request #64 from Nicell/feature/rgb_underglow
Initial RGB Underglow implementation
2020-07-26 21:43:43 -04:00
Nick dc8c7011b1 If LED strip can't be found, behaviors return err 2020-07-26 12:49:43 -05:00
Pete Johanson 5b862655b4 Whitespace fix. 2020-07-25 23:17:33 -04:00
Pete Johanson d1cb3969f0 Remove extra '#'. 2020-07-25 23:17:19 -04:00
Pete Johanson 5e96c0014a Default the reverse mode. 2020-07-25 23:11:38 -04:00
Pete Johanson c34472bf3f Fixes for loading without encoder drivers.
* Build fixes.
2020-07-25 23:10:40 -04:00
Pete Johanson 2ca6c21027 Add the Lily58 OLED. 2020-07-25 23:10:40 -04:00
Pete Johanson d80063ff51 Initial display support. 2020-07-25 23:10:40 -04:00
Nick 6956094ac0 Add missing return To brightness up 2020-07-25 15:39:01 -05:00
Nick 564f787280 Add suggested changes 2020-07-25 14:53:42 -05:00
Pete Johanson 91d8237cab Fixes for building with a different .conf file. 2020-07-25 00:50:42 -04:00
Pete Johanson 7a59467420 Properly add overlay/conf files for base shield dir name as well.
* Needed so when building with `kyria_left` shield, then config
  dir containing `kyria.conf` and `kyria.overlay` will also be
  applied as configs/overlays.
2020-07-25 00:13:42 -04:00
Nick 295af93289 Only include behavior if feature enabled 2020-07-24 22:48:48 -05:00
Nick ca569c8143 Initial RGB Underglow implementation 2020-07-24 22:37:00 -05:00
Pete Johanson 25d0664b58 Tweaks for EC11 config. 2020-07-24 16:31:38 -04:00
Nick bb09707bd2 Add base files and configuration for RGB underglow 2020-07-24 01:06:56 -05:00
Pete Johanson f22407223f Log more info on ZMK config dir usage. 2020-07-23 23:01:47 -04:00
Pete Johanson b1bc5b4c82 Switch printk to LOG_DBG. 2020-07-23 22:21:38 -04:00
Pete Johanson bccd30d68a Add user config as board/dts roots as needed. 2020-07-22 19:42:05 -04:00
Pete Johanson 5958bfed0b Naming tweaks for the sensor behavior. 2020-07-22 16:24:31 -04:00
Pete Johanson 34ff6190bd Initial behavior for key presses on encoder rotate 2020-07-22 14:54:18 -04:00
Pete Johanson 4d73938cb5 More sensor keymap work. 2020-07-22 10:10:04 -04:00
Pete Johanson adfa1b5443 Initial work on sensor bindings. 2020-07-22 02:13:52 -04:00
Pete Johanson 5896c3032b Fixes for BLE host connections w/ split support. 2020-07-21 22:10:37 -04:00
Pete Johanson 54f1ddc1f5
Merge pull request #59 from petejohanson/sensors/en11-encoder-sensor
Initial low level EC11 sensor driver
2020-07-21 14:38:32 -04:00
Pete Johanson 3a508c42d0 Trailing newline fix. 2020-07-21 14:28:59 -04:00
Pete Johanson b49755b724 Skip chosen node for now. 2020-07-21 14:24:58 -04:00
Pete Johanson ec74adb3b7 Better chosen name. 2020-07-21 14:01:48 -04:00
Pete Johanson a734d58ffe More consistent DT for the split encoders. 2020-07-21 14:01:15 -04:00
Pete Johanson 3338b3f7de Revert minor change to main. 2020-07-21 13:53:43 -04:00
Pete Johanson f3267e6030 Tweaks for orientation and A/B pins for Kyria left 2020-07-21 13:52:03 -04:00
Pete Johanson b48011ace6 Remove sensor test code. 2020-07-21 13:40:16 -04:00
Pete Johanson c619d36294 Support multiple instances of the encoder. 2020-07-21 13:37:02 -04:00
Pete Johanson ac9ba3ae7d Code cleanup for non-trigger mode. 2020-07-21 13:29:21 -04:00
Pete Johanson aa7c74fe07 Filename fix for EN11 -> EC11. 2020-07-21 13:24:44 -04:00
Pete Johanson 7da9a1039f Working encoder detection. 2020-07-21 13:16:15 -04:00
Pete Johanson b6b982fcef Code clean up 2020-07-20 23:51:40 -04:00
Pete Johanson c4d3c03eb0 Improved function naming for central functions. 2020-07-20 23:02:27 -04:00
Pete Johanson 542a9de48a Replace magic 16 with sane constant. 2020-07-20 22:52:37 -04:00
Pete Johanson c058757252 Fetch/get implementation work. 2020-07-20 22:47:50 -04:00
Pete Johanson 109c69cbab EN11 is actually EC11, some sample work. 2020-07-20 20:54:58 -04:00
Pete Johanson 331bfa7052 Interrupt fixes. 2020-07-20 10:27:44 -04:00
Pete Johanson fd407c4876 Update connectin params once we're connected to. 2020-07-19 22:40:49 -04:00
Pete Johanson 2a6b9ec86e Fixed min/max. 2020-07-19 22:33:15 -04:00
Pete Johanson 879fd5b8e7 Connection params tweaks. 2020-07-19 22:20:42 -04:00
Pete Johanson 893b99d907 Initial en11 exploration. 2020-07-19 22:11:17 -04:00
Pete Johanson 1951883def Bump max BT connections for testing. 2020-07-17 23:04:47 -04:00
Pete Johanson 64b9963bca Name each Lily58 side differently. 2020-07-17 23:02:00 -04:00
Pete Johanson 5b61c211ea Tweaks for split Lily58 sync. 2020-07-17 22:44:35 -04:00
Pete Johanson 339a15881a Tweaks for turning off USB for split peripherals. 2020-07-17 22:43:40 -04:00
Pete Johanson eb0bf2337e More cleanup of BLE split code. 2020-07-17 22:43:40 -04:00
Pete Johanson 7778ceec92 One more lingering global behavior bit. 2020-07-17 22:43:40 -04:00
Pete Johanson f4cb3a7cba Clean up old global behavior logic. 2020-07-17 22:43:40 -04:00
Pete Johanson 6701b7babc Working BT settings. 2020-07-17 22:43:40 -04:00
Pete Johanson 0321c490b5 Disable USB on the peripheral size. 2020-07-17 22:43:40 -04:00
Pete Johanson d4afd989f3 More split implementation.
* Propogate key position state changes on central.
* Various BLE tweaks.
2020-07-17 22:43:40 -04:00
Pete Johanson d74efb331a Kconfig fixes for split roles. 2020-07-17 22:43:40 -04:00
Pete Johanson d1a5c7ee5a Swtich to SYS_INIT. 2020-07-17 22:43:40 -04:00
Pete Johanson be537d0656 Lots of work on split peripheral/central logic. 2020-07-17 22:43:40 -04:00
Pete Johanson a165db6358 Initial work on split central support. 2020-07-17 22:43:40 -04:00
Pete Johanson 3796f76c56 Initial exploration of split BLE service.
* Service for split peripheral to report
  position state to split central.
* Updated advertising info.
* Behavior for split BT until we have a proper
  event system.
2020-07-17 22:43:40 -04:00
Pete Johanson 4495aaa7be Minor keymap fix from PR review. 2020-07-17 22:35:33 -04:00
Pete Johanson c3dd7b694d Initial Lily58 shield definition. 2020-07-16 23:41:55 -04:00
Pete Johanson 33d4341320 Code partition size fix for nice!nano. 2020-07-15 23:27:15 -04:00
Pete Johanson 4ab6132f70 Bump the default USB EP write retries. 2020-07-14 10:12:25 -04:00
Pete Johanson fff18dd33e Windows build fixes. 2020-07-13 23:49:36 -04:00
Pete Johanson e448f2d32b kscan: matrix: Remove verbose logging in read. 2020-07-11 13:10:01 -04:00
Pete Johanson c45dbe3c8f boards: nice_nano: Fix i2c usage.
* change conflicting pins usage for uart.
* use i2c0 properly instead.
2020-07-11 13:09:18 -04:00
Pete Johanson 497049ff68 Detect additional key presses on the same output.
* Interrupts won't follow on additional keys
  pressed on an already "held" output pin,
  so queue additional reads while any keys are held.
2020-07-07 16:26:11 -04:00
Pete Johanson 6cafa9556c nice!nano fixes for necessary USB CDC ACM UART console. 2020-07-07 10:49:51 -04:00
Pete Johanson 7c5fb7adb5 Use SYS_INIT for BLE and USB init. 2020-07-07 10:20:23 -04:00
Pete Johanson 9bee640ae3 More Planck rev6 fixes. 2020-07-06 10:19:44 -04:00
Pete Johanson a9b949cd94 Fixes for WIP planck board definition. 2020-07-06 00:43:03 -04:00
Pete Johanson 7ce82fbd12 Add ability to have board overlay combined w/ shield keymap. 2020-07-01 22:58:30 -04:00
Pete Johanson 4c5ed99381
Merge pull request #42 from petejohanson/core/event-manager-refactor
Refactor to generic event manager, ditch "global behaviors" as a concept.
2020-06-30 16:42:52 -04:00
Pete Johanson 7bf8621d5b Whitespace fix. 2020-06-30 16:39:29 -04:00
Pete Johanson a62a2f8c5c Cleanup, license headers. 2020-06-30 16:13:03 -04:00
Pete Johanson cb087b54e5 One more lingering global behavior bit. 2020-06-30 15:31:49 -04:00
Pete Johanson c52beb78d4 LIngering "global behavior" bit. 2020-06-30 15:23:21 -04:00
Pete Johanson 57e061ac91 Lots of cleanup of old events/behavior mash. 2020-06-30 15:21:42 -04:00
Pete Johanson b23a73e488 Fix back/forward slash keycodes. 2020-06-30 13:34:24 -04:00
Pete Johanson 96ec16da92 Modifier event, tweaks for linker script. 2020-06-30 10:43:09 -04:00
Pete Johanson 9a991bf019 Initial event manager work, and two first events.
* Add initial event manager implementation,
  roughly mimicking Nordic's API.
* Add `position_state_changed` and
  `keycode_state_changed` events.
* Hook up HID and keymap to new events
  instead of using behaviour global event
  crazy.
2020-06-30 00:31:09 -04:00
Pete Johanson 5ffd95694f Kyria left/right overlays, matrix transform fixes
* Refactor Kyria into separate left/right "revisions"
  of the Kyria shield, and include central
  kyria.dtsi file with common definition.
* Fixes for keymaps to work fully with matrix
  transforms that override effective rows/columns.
* Add ability for matrix transform to do row/col
  offsets, which is needed for split keyboards.
2020-06-27 00:16:15 -04:00
Pete Johanson f84a41de3e Only test w/ Kyria and handwire. 2020-06-26 11:38:58 -04:00
Pete Johanson 2eb6fbd5a2 Fix the clueboard keymap. 2020-06-26 11:32:32 -04:00
Pete Johanson f8010d046f Add missing semicolon to pro micro nexus. 2020-06-26 11:23:31 -04:00
Pete Johanson 559670b818 Missed removing some preceding 0 padding. 2020-06-26 11:07:42 -04:00
Pete Johanson 2ff217d39e Refactor ProMicro to a/d connector. 2020-06-25 23:21:53 -04:00
Pete Johanson c32c25d3c0 Properly allocate input/output arrays statically. 2020-06-25 23:21:11 -04:00
Pete Johanson cd6bdc336a Enable ZMK USB by default on nano. 2020-06-25 23:20:31 -04:00
Pete Johanson c457d9880d
Merge pull request #32 from petejohanson/core/refactor-keymap-to-behaviors
Refactor keymap to behaviors
2020-06-25 14:39:08 -04:00
Pete Johanson a6a364725d Fix .gitignore, add missing changes. 2020-06-24 10:37:02 -04:00
Pete Johanson 17ef033f00 Tweaks to readme. 2020-06-24 10:19:02 -04:00
Pete Johanson d35a95c7af Initial working Clueboard California Macropad w/ proton-c fixes
* Basic Clueboard Californai Macropad shield definition.
* New "direct" KSCAN driver that supports non-matrix direct
  wiring for switches, needed for macropad that doesn't have
  a matrix at all.
* Some renames for existing KSCAN GPIO driver to make the implied
  "matrix" part explicit.
2020-06-24 10:14:27 -04:00
Pete Johanson f2f9d45021 Comment out debug settings again. 2020-06-22 11:16:00 -04:00
Pete Johanson 55cf9db564 Fix consumer keys w/ refactored behaviors. 2020-06-22 11:06:01 -04:00
Pete Johanson 8027be106e Fix momentary-layer reference. 2020-06-21 23:20:38 -04:00
Pete Johanson 321d510d02 One more minor fix. 2020-06-21 22:56:13 -04:00
Pete Johanson 037db585c1 Remove unneeded custom keymap code. 2020-06-21 22:52:50 -04:00
Pete Johanson ec663310c1 Clean up after refactor, better HID constants. 2020-06-21 22:46:27 -04:00
Pete Johanson c6625169e5 Refactor to single <behaviors.dtsi> include. 2020-06-21 22:05:11 -04:00
Pete Johanson 93635077e6 Implement momentary layer + transparent behaviors
* Implement "momentary layer" behavior with `&mo`
  reference.
* Implement basic "transparent" behavior with `&trans`
  reference.
2020-06-21 21:56:49 -04:00
Pete Johanson 223edf05ad Refactor global bindings, implement mod-tap.
* Use extra comptible = "zmk,behavior-global" to add
   behaviors to global bindings for event notification.
* Implement mod-tap, as a keymap binding and global one
  to skip tap if other keycode pressed while held.
2020-06-21 21:43:44 -04:00
Pete Johanson 7e659851c8 Refactor matrix transform, positions pervasively
* Do mapping to positions right in kscan handler, and then
  surface positions throughout the API.
2020-06-20 17:54:52 -04:00
Pete Johanson d65629b9a0 Lots more pieces toward HID working again. 2020-06-20 00:11:39 -04:00
Pete Johanson c23d752917 Some initial work on behavior bindings for keymaps 2020-06-19 15:32:33 -04:00
Pete Johanson 6e111f4676
Merge pull request #29 from petejohanson/build/zmk-config-initial-work
Initial refactor to have a shield/board have one default keymap.
2020-06-17 09:40:28 -04:00
Pete Johanson c9b22e55fd
Merge pull request #14 from zmkfirmware/boards/nice-nano-prep
Initial basic work on nice!nano board support.
2020-06-16 23:10:53 -04:00
Pete Johanson 33795b99ca Change the kernel bin name, upload built UF2. 2020-06-16 22:58:26 -04:00
Pete Johanson 8ee9a37498 Tweak the defconfigs for nice_nano and handwire. 2020-06-16 22:35:29 -04:00
Pete Johanson 1659562bb7 Rename keymap-transform to matrix-transform.
* Clearer name to capture essence of the role of the
  transform.
2020-06-16 21:35:44 -04:00
Pete Johanson 6b6ecb3b0c Tweaks to remove "helper macros"
* More direct transform maps were agreed to be clearer.
* Remove helpers, just use simple `RC` macro to map a
  logical location to a row/column pair.
2020-06-16 21:32:11 -04:00
Pete Johanson a65cdea66b Better naming, layout comments for clarity. 2020-06-16 16:21:39 -04:00
Pete Johanson a4885db2bf Use the correct family ID for the AdaFruit bootloader. 2020-06-16 11:40:51 -04:00
Pete Johanson 85e505e06e Build UF2 image for nice!nano board as well. 2020-06-15 23:00:35 -04:00
Pete Johanson 557996bcd0 Fixes for SPI pins for "P1" pins
Co-authored-by: Nick Winans <nick.win999@gmail.com>
2020-06-15 22:38:30 -04:00
Pete Johanson 879ce6fa6b Enable BLE by default as well. 2020-06-15 22:38:30 -04:00
Pete Johanson 75b01869f0 Add (untested) pins for SPI. 2020-06-15 22:38:30 -04:00
Pete Johanson a5ade1f947 Add missing `compatible` entry for the toplevel board. 2020-06-15 22:38:30 -04:00
Pete Johanson 4294b4873e Initial basic work on nice!nano board support. 2020-06-15 22:38:30 -04:00
Pete Johanson 1751470785 Initial work on keymap transforms for non-standard matrixes.
* Allows "gaps" for keyboards like Kyra.
* Allows keyboards with matrixes that don't map the logical key
  locations to have normal looking keymaps when defined.
2020-06-15 17:03:34 -04:00
Pete Johanson 0712dadd29 Tweaks for Proton-C board. 2020-06-15 16:58:18 -04:00
Pete Johanson 583839afce Initial refactor to have a shield/board have one default keymap.
* Start of work of focusing on out-of-tree user keymaps.

Add ZMK_CONFIG support.

* General external configuration supported via ZMK_CONFIG,
  which should point to a configuration directory.
* Priority order of overlay files to select.
  * ${SHIELD}_${BOARD}.overlay
  * ${SHIELD}.overlay
  * ${BOARD}.overlay
  * default.overlay
* Equivalent search order for .conf files for initial Kconfig
  values.
2020-06-14 23:58:43 -04:00
Pete Johanson ed045bee6a Upgrade to Zephyr 2.3.0 (plus small build fix.)
* Closes #27
2020-06-14 23:15:23 -04:00
Pete Johanson 292df586a4 Restore CMSIS. 2020-06-12 10:29:58 -04:00
Pete Johanson caf934792a Exclude some unused Zephyr west submodules.
* Don't waste space/time updating unused modules for architectures
  we aren't targetting (yet).
2020-06-12 09:47:21 -04:00
Pete Johanson 0ee01390bd Initial handwire proton-c shield for testing. 2020-06-11 23:38:04 -04:00
Pete Johanson 7614e7e52b Initial work on Proton-C board definition. 2020-06-11 23:37:47 -04:00
Pete Johanson 297e457dd5 Fix remaining Apache header lines. 2020-06-09 09:54:13 -04:00
Pete Johanson 38f1dbd984 Move Zephyr app into subdirectory. 2020-06-08 21:07:16 -04:00