Skip to content

Commit

Permalink
feat(studio): Add new keymap subsystem.
Browse files Browse the repository at this point in the history
* Add APIs for fetching the current keymap, and updating a particular
  binding in a layer of the keymap, including validation of parameters.
* Add API for savings/discarding keymap changes.
  • Loading branch information
petejohanson committed Jul 5, 2024
1 parent 811b37a commit 2a4ff00
Show file tree
Hide file tree
Showing 3 changed files with 375 additions and 1 deletion.
1 change: 1 addition & 0 deletions app/src/studio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@ target_sources(app PRIVATE rpc.c)
target_sources(app PRIVATE core.c)
target_sources(app PRIVATE behavior_subsystem.c)
target_sources(app PRIVATE core_subsystem.c)
target_sources(app PRIVATE keymap_subsystem.c)
target_sources_ifdef(CONFIG_ZMK_STUDIO_TRANSPORT_UART app PRIVATE uart_rpc_transport.c)
target_sources_ifdef(CONFIG_ZMK_STUDIO_TRANSPORT_BLE app PRIVATE gatt_rpc_transport.c)
5 changes: 4 additions & 1 deletion app/src/studio/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@ menuconfig ZMK_STUDIO
# These two save stack size
imply NANOPB_NO_ERRMSG
imply NANOPB_WITHOUT_64BIT
select SETTINGS
select ZMK_BEHAVIOR_METADATA
select ZMK_BEHAVIOR_LOCAL_IDS
select RING_BUFFER
select ZMK_KEYMAP_SETTINGS_STORAGE
select ZMK_KEYMAP_LAYER_REORDERING
help
Add firmware support for realtime keymap updates (ZMK Studio)

Expand Down Expand Up @@ -71,7 +74,7 @@ endmenu

config ZMK_STUDIO_RPC_THREAD_STACK_SIZE
int "RPC Thread Stack Size"
default 1800
default 2048

config ZMK_STUDIO_RPC_RX_BUF_SIZE
int "RX Buffer Size"
Expand Down
Loading

0 comments on commit 2a4ff00

Please sign in to comment.