Commit Graph

502 Commits

Author SHA1 Message Date
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