Commit graph

1628 commits

Author SHA1 Message Date
Kyle McCreery
569a2ee2cc
[New Shield] Murphpad (#806)
* initial commit

* initial commit

* Encode, OLED, and RGB Nice Nano support added as well as refining default keymap.

* tweaking keymap

* Prepared murphpad for PR. Includes adding support for second encoder, OLED, and underglow RGB

* Enabled OLED by default.

* removed naked60 config files

* Per PR feedback from ZMK maintainers, added hardware metadata file and renamed Pro Micro pins.

* removed tabs from keymap and replaced with normal spaces

* Update app/boards/shields/murphpad/murphpad.keymap

Co-authored-by: Nick Winans <nick@winans.codes>

* Update app/boards/shields/murphpad/murphpad.zmk.yml

Co-authored-by: Nick Winans <nick@winans.codes>

* Update app/boards/shields/murphpad/murphpad.zmk.yml

Co-authored-by: Nick Winans <nick@winans.codes>

Co-authored-by: honorless <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Nick Winans <nick@winans.codes>
2021-12-13 14:41:35 -06:00
Felix Sargent
df1ae494c7
Add boardsource5x12 (#1027)
* Initial commit of boardsource5x12

* Added copyright/license header

* Update app/boards/shields/boardsource5x12/Kconfig.defconfig

Co-authored-by: Pete Johanson <peter@peterjohanson.com>

* Update app/boards/shields/boardsource5x12/boardsource5x12.overlay

Co-authored-by: Pete Johanson <peter@peterjohanson.com>

* Update app/boards/shields/boardsource5x12/Kconfig.shield

Co-authored-by: Pete Johanson <peter@peterjohanson.com>

* Update app/boards/shields/boardsource5x12/boardsource5x12.keymap

Co-authored-by: Pete Johanson <peter@peterjohanson.com>

* Swapping keymap for what used in Naked60 as it's another 60 key board, so it keeps it consistent.

* Update app/boards/shields/boardsource5x12/boardsource5x12.keymap

Co-authored-by: Nick Winans <nick@winans.codes>

* renamed layers in boardsource5-12

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: Nick Winans <nick@winans.codes>
2021-12-13 14:24:21 -06:00
Ryan Butler
eca051efa0
Add support for keeb.io fourier split keyboard (#1056)
* Add support for keeb.io fourier

* Update app/boards/shields/fourier/fourier_right.overlay

Co-authored-by: Nick Winans <nick@winans.codes>

* Update app/boards/shields/fourier/fourier_left.overlay

Co-authored-by: Nick Winans <nick@winans.codes>

* Convert spaces to tabs in .dtsi

Co-authored-by: Nick Winans <nick@winans.codes>
2021-12-13 13:41:52 -06:00
Sam Mohr
b23934cf94
feat(shields): Add Osprette 2021-12-10 13:20:52 -05:00
Kyle McCreery
a8c7cf4f19
feat(boards): Add S40NC board definition (#1021)
* initial commit

* initial commit

* Encode, OLED, and RGB Nice Nano support added as well as refining default keymap.

* tweaking keymap

* Prepared murphpad for PR. Includes adding support for second encoder, OLED, and underglow RGB

* Enabled OLED by default.

* Initial commit with settings updated to match schematic.

* Removing test directories.

* removed naked60 config files

* Fixed dogbone definitions to be full working for murphpad.

* Preparing S40NC for PR

* Removed the murphpad test files that were not supposed to be a part of this PR.

* Changing licensing to be from The ZMK Contributors.

* Changed the licensing in the keymap file to be from The ZMK Contributors

* Update s40nc.keymap
2021-12-02 17:21:35 -06:00
toddmok
9148ffd05d
feat(shields) Add Redox Shield Support (#1002)
* Add redox shield support

* typo

* Pull request fixes

* requested changes

add underglow, add copyright, remove display

* remove because of no display

* comment fix

* bt clear
2021-12-02 12:51:27 -06:00
Peter Johanson
6ef1e7034f fix(hid): Implicit mods on non-key page events
* Properly send the KEY usage page report for modifier changes
  when there are state changes to other usages pages that
  include implicit modifiers.
2021-12-02 07:18:25 -05:00
Pete Johanson
c4ad3bc5dc fix(docs): Make the modifier function examples clearer.
* Ensure the list of available modifier functions is clearly shown
  as macros, not as basic defines.
2021-12-01 16:56:15 -05:00
ReFil
b877410379 fix(boards): BT60 Formatting tweaks 2021-11-30 15:33:12 -06:00
ReFil
99c5a8ee6f feat(boards): Add BT60 Boards 2021-11-30 15:33:12 -06:00
Josh Johnson
66f90dae3a
feat(shield) Add Chalice support (#1022)
* add chalice

* add split bs transform

* Update app/boards/shields/chalice/chalice.zmk.yml

Co-authored-by: Nick Winans <nick@winans.codes>

Co-authored-by: Nick Winans <nick@winans.codes>
2021-11-29 11:39:46 -06:00
Cem Aksoylar
b9a35c6ae7 fix(keymaps): Locate shared conf and overlay for split boards. 2021-11-29 07:56:29 -05:00
Nick Winans
0b44321613 fix(shields): Fix typo on Quefrency .zmk.yml 2021-11-29 00:52:57 -05:00
Peter Johanson
54dabffd0d feat(behaviors): Add caps word (&caps_word).
* Add new `&caps_word` behavior that acts like caps lock, but
  releases automatically when any "break" keycode is pressed.
2021-11-28 22:41:35 -05:00
Jonathan Rascher
30ed237533 test(conditional-layers): Add tests for edge cases 2021-11-15 05:49:23 -05:00
Jonathan Rascher
6cd1734851 test(conditional-layers): Add interleaved up/downs 2021-11-15 05:49:23 -05:00
Jonathan Rascher
a908396013 test(conditional-layers): Add multi-config tests 2021-11-15 05:49:23 -05:00
Jonathan Rascher
df110beac4 test(conditional-layers): Add basic unit tests 2021-11-15 05:49:23 -05:00
Jonathan Rascher
cbf6e28e34 docs(conditional-layers): Document feature 2021-11-15 05:49:23 -05:00
Jonathan Rascher
e9140b2da9 feat(conditional-layers): Implement feature
This is a generalization of the existing concept of tri-layer support
that's already well known. Essentially, a conditional-layer
configuration activates a particular layer (the then-layer) when one or
more other layers (the if-layers) are activated.

This is commonly used on ortho keyboards to activate a third "adjust"
layer while the primary two layers ("lower" and "raise") are active.
2021-11-15 05:49:23 -05:00
Peter Johanson
f8018b22d0 fix(hid): Basic consumer code fixes for signed logical max.
* Logical max values are signed, so for the report descriptor, use a two
  byte logical max descriptor item to impart proper 0xFF max logical
  value.
2021-11-09 10:38:49 -05:00
Viet (Drake) Tran
c412fad40d
fix(shields): Fix some keycodes in reviung41 keymap
Notice some keycodes are not matched with the expected keys.
2021-11-09 10:26:21 -05:00
jding
4e62319982 feat: hold/tap flavor tap-unless-interrupted
Implements new hold/tap flavor, tap-unless-interrupted
Adds tests
Adds docs
2021-11-09 01:07:05 -05:00
Hai-Ninh Dang
f2e0642291
feat(boards): Add Mikoto board
* Supports selecting from several possible charge currents

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2021-11-09 00:57:24 -05:00
dependabot[bot]
944f931704 chore(deps): bump DoozyX/clang-format-lint-action from 0.12 to 0.13
Bumps [DoozyX/clang-format-lint-action](https://github.com/DoozyX/clang-format-lint-action) from 0.12 to 0.13.
- [Release notes](https://github.com/DoozyX/clang-format-lint-action/releases)
- [Commits](https://github.com/DoozyX/clang-format-lint-action/compare/v0.12...v0.13)

---
updated-dependencies:
- dependency-name: DoozyX/clang-format-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-04 22:47:15 -04:00
Peter Johanson
0b0b49d626 fix(split): Properly rediscover peripherals.
* Handle disconnects of peripherals, and properly clean up
  and resume discovering for when the peripheral re-appears.
2021-11-04 22:31:56 -04:00
jmding8
73fd4b9230
fix(behavior): Properly break in decision switch statement.
Co-authored-by: jding <jding@roblox.com>
2021-11-01 13:51:12 -04:00
jmding8
19ee7849f8
feat(behaviors) Required keys for tap-hold behaviors
* Add optional `hold-trigger-key-positions` hold-tap configuration
* Leverage configuration for decision making around when to trigger
  hold decision in hold-taps.
* Add docs for new configuration.
* Tests for the new config/decision logic.
2021-11-01 12:37:20 -04:00
Joel Spadin
f946dc6893 feat(kscan): Improve matrix debouncing
Switched the GPIO matrix driver to debouncing using a simple integrator
algorithm. Whenever a key is pressed, we now scan at a rate controlled
by debounce-scan-period-ms (default 1 ms) until all keys are released,
then return to either waiting for an interrupt or polling more slowly.

The timers for key press and release can now be controlled separately,
so debounce-period is deprecated in favor of debounce-press-ms and
debounce-release-ms. Global Kconfig options
ZMK_KSCAN_DEBOUNCE_PRESS_MS and ZMK_KSCAN_DEBOUNCE_RELEASE_MS are also
added to make these easier to set.

Added documentation for debouncing options.
2021-10-26 23:52:13 -04:00
Peter Johanson
5cc7c280a5 refactor: Move to explicit docker.io/* image references.
* Some runtimes (e.g. podman), require explicit registries in image URLs
 or will prompt for the user to select one, which breaks things like
 VSCode remote container rebuilds.
2021-10-23 15:33:42 -04:00
Jonathan Rascher
e3eb77dfc6 refactor(combos): Use ZMK_KEYMAP_EXTRACT_BINDING
Now that PR #506 is merged, we can address this TODO.
2021-10-20 23:36:31 -04:00
dependabot[bot]
503bb0ec2f chore(deps): bump @fortawesome/react-fontawesome in /docs
Bumps [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome) from 0.1.14 to 0.1.16.
- [Release notes](https://github.com/FortAwesome/react-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/react-fontawesome/compare/0.1.14...0.1.16)

---
updated-dependencies:
- dependency-name: "@fortawesome/react-fontawesome"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-20 22:56:45 -04:00
Manuel Transfeld
05167c6539
fix(docs): Typo fix, open -> upon 2021-10-20 22:54:48 -04:00
Peter Johanson
e6c815f1b0 fix: Properly find boards in user config repos. 2021-10-19 13:29:36 +00:00
Peter Johanson
0dc7d46eb1 fix: Only search for board one not found yet. 2021-10-18 20:08:35 -04:00
Peter Johanson
742f4c2826 fix(keymaps): Properly locate split board keymaps.
* Find the unified keymap filename for onboard controller split
  keyboards.
2021-10-18 20:08:35 -04:00
Peter Johanson
01d2102c23 refactor: Add js-yaml dep, scrtipt gen tweaks.
*  Make the synthetic "base name" property double underscore prefixed,
  since internal, and to avoid future conflicts w/ YAML format add'ns.
* Switch to PS hash dictionaries for our metadata collections for saner
  data inspection/use.
2021-10-16 21:50:58 -04:00
Peter Johanson
e544d74948 refactor: Config setup scripts to support onboard keyboards.
* Use unified config template repo that uses an external
  build matrix YAML file.
* Proper handling for onboard keyboards, including splits, and
 supports for appending the right build matrix once selected.
2021-10-16 21:50:58 -04:00
eyenseo
6f29453041 [squash] implement feedback 2021-10-13 09:51:02 -07:00
eyenseo
51298f1d22 Add ergodash 2021-10-13 09:51:02 -07:00
Dom H
e11477f7b1 chore: Add note about copyrights on PR checklist 2021-10-12 22:27:33 -04:00
Richard Kjerstadius
a774ce8555 fix(display): Increase char buffer size to fit all symbols
Recent refactoring of the font handling seems to have broken the display
of the last symbol of the output status widget. From my analysis the
last symbol is truncated because the buffer simply is too small.
Increasing the buffer size to 9 fits all three possible symbols.
2021-10-12 12:00:21 -04:00
git@jrhrsmit.nl
f221ff1dc7 add ranges and descriptions from #669 2021-10-11 09:46:17 -07:00
Nick Winans
f23f427cae fix(underglow): Run clang-format 2021-10-10 17:43:57 -07:00
Simon Malinge
c5b8dd85fd feat(underglow): Add support for configurable min/max brightness
Co-authored-by: jrhrsmit <jasper.770@gmail.com>
2021-10-10 17:43:57 -07:00
Jonathan Rascher
96fea949d5 docs(docs): Document up-to-date Node.js repo
For example, Debian Bullseye (current stable) packages Node.js version
12, which is too old to build the docs successfully. At least version 14
is required, and version 16 is current. General advice seems to be to
install from the NodeSource repo instead of your distro's repo, so I
added a suggestion to the docs.
2021-10-10 12:20:35 -07:00
Peter Johanson
bc179b1030 feat(hid): Kconfig for basic/full consumer usages.
* Add ZMK_HID_CONSUMER_REPORT_USAGES choice to allow choosing
  between full consumer usage range, with poor OS compat,
  or basic consumer usage range, with broader compat.
2021-10-04 23:01:39 -04:00
Pete Johanson
91ba034896 feat(hid): Configurable NKRO HID report support.
* Add Kconfig settings for NKRO or HKRO (boot compatible), HID
  report types for keyboard page.
* Updated report storage and set/unset for each config.
2021-10-04 23:01:39 -04:00
Aleblazer
063b496c26
feat(boards): Add Zodiark shield 2021-10-03 23:47:23 -04:00
Nick Winans
19a7d686fb
chore: Add board/shield checklist for new PRs. 2021-10-03 23:29:59 -04:00