Skip to content

Commit ba79332

Browse files
zmk-studio support, maus (main branch) support, better batt for periph
1 parent e93663c commit ba79332

19 files changed

+324
-276
lines changed

CHANGELOG.txt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
Changelog file for Structures extra.
22
https://github.com/mctechnology17/zmk-config/blob/main/CHANGELOG.txt
33

4+
# FEATURES 0.0.2-beta1 (Nov 08, 2024)
5+
=======================================
6+
47
# FEATURES 0.0.1-beta1 (Aug 22, 2024)
58
=======================================
9+
+ NEW FEATURES
10+
- [x] zmk-studio support
11+
- [x] Add zmk modules from the community
12+
- [x] Add better keymap-drawer customization
13+
- [x] NiceView support for seeeduino_xiao_ble
14+
- [x] Dongle with NiceView support for all nrf52840
615

716
# List of exciting new features
817
+ NEW FEATURES
@@ -22,7 +31,3 @@ https://github.com/mctechnology17/zmk-config/blob/main/CHANGELOG.txt
2231
- [ ] Add EXTRA_CONF_FILE for each device
2332
- [ ] Add build for rgb + oled display
2433
- [ ] Add build for rgb + oled display + dongle
25-
- [ ] Add zmk modules from the community
26-
- [ ] Add better keymap-drawer customization
27-
- [ ] NiceView support for seeeduino_xiao_ble
28-
- [ ] Dongle with NiceView support for all nrf52840

README.md

Lines changed: 100 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,16 @@
2121
- [USEFUL TIPS](#USEFUL-TIPS)
2222
- [RELATED PROJECTS](#RELATED-PROJECTS)
2323
- [DONGLE DESIGNS](#DONGLE-DESIGNS)
24+
- [ZMK STUDIO](#ZMK-STUDIO)
25+
- [MODULE INTEGRATION](#MODULE-INTEGRATION)
2426
- [INSPIRATIONS](#INSPIRATIONS)
2527
- [MY OTHER PROJECTS](#MY-OTHER-PROJECTS)
2628

2729
----
2830

31+
If you already have your corne configured with this repository and want to make
32+
a modification to your keymap, you can do it with the online [ZMK-STUDIO](https://zmk.studio/).
33+
2934
If you already have your corne configured with this repository and want to make
3035
a modification to your keymap, you can do it with the online [keymap-editor](https://nickcoutsos.github.io/keymap-editor/).
3136

@@ -56,7 +61,7 @@ that you can have a base configuration and you can modify it to your liking.
5661

5762
This base includes the most recent corne configurations, featuring a setup for
5863
the Corne dongle with/without an OLED screen.
59-
You can also use your keyboard without a dongle of course. with any of the
64+
You can also use your keyboard WITH / WITHOUT a dongle of course. with any of the
6065
plates or screens you have.
6166

6267
Tested with **[puchi_ble_v1]** (used as a dongle and as
@@ -105,10 +110,19 @@ peripherals), **[nice_nano_v2]** (used as a dongle and as peripherals),
105110
> 4. Disable the builds you don't need in the file [build.yaml](./build.yaml),
106111
> by default they are all activated.
107112
113+
114+
### zmk-studio
115+
This repository includes the necessary configuration to use zmk-studio without
116+
the need to configure anything else. You just have to follow the steps below:
117+
- fork this repository y flash the firmware to the keyboard with the uf2 files (see as below en normal procedure)
118+
- connect the master (dongle or central) to the PC
119+
- Modify the keyboard mapping on the go with [ZMK Studio
120+
Web](https://zmk.studio/) and enjoy the changes!
121+
122+
### normal procedure
108123
1. Fork this repository (I appreciate if you follow me on [github] and [youtube])
109124
2. Modify the keyboard mapping with [keymap-editor]. If you want to read about
110-
the features of this editor you can do so
111-
[here](https://github.com/nickcoutsos/keymap-editor).
125+
the features of this editor you can do so here: [ZMK Studio Web](https://zmk.studio/) or [keymap-editor](https://github.com/nickcoutsos/keymap-editor).
112126
3. Save changes and commit (optional)
113127
4. Go to actions on github and download the artifacts
114128
- Actions(click) -> All Workflows (click)-> Initial User Config. (here you
@@ -118,11 +132,11 @@ peripherals), **[nice_nano_v2]** (used as a dongle and as peripherals),
118132
- unzip the .zip file
119133
- Connect the nice!nano v2 microcontroller to the USB-C port of your computer
120134
- the microcontroller is recognized as a storage device
121-
5. Flash the firmware to the keyboard with the uf2 files (drag and drop and with dongle)
135+
5. Flash the firmware to the keyboard with the uf2 files (drag and drop and WITH dongle)
122136
- xiao_corne_dongle_xiao_dongle_display.uf2 for [seeeduino_xiao_ble] as a dongle
123137
- nice_corne_left_peripheral.uf2 for [nice_nano_v2] as a peripheral
124138
- nice_corne_right.uf2 for [nice_nano_v2] as a peripheral
125-
6. Flash the firmware to the keyboard with the uf2 files (drag and drop and without dongle)
139+
6. Flash the firmware to the keyboard with the uf2 files (drag and drop and WITHOUT dongle)
126140
- nice_corne_left.uf2 for [nice_nano_v2] as a master side
127141
- nice_corne_right.uf2 for [nice_nano_v2] as a peripheral
128142
7. If you need help, you can ask in the [ZMK Discord]
@@ -183,33 +197,33 @@ zmk-config # main folder
183197
├── Makefile # file for compilation
184198
├── README.md # readme this file
185199
├── build.yaml # config file for compilation on the github server
186-
├── config # configuration folder
187-
│   ├── boards
188-
│   │   ├── ... # other boards
189-
│   │   ├── nice_nano_v2.overlay
190-
│   │   ├── puchi_ble_v1.overlay
191-
│   │   └── shields
192-
│   │   ├── corne
193-
│   │   │   ├── Kconfig.defconfig # modify if you want to add a new shield
194-
│   │   │   ├── Kconfig.shield # modify if you want to add a new shield
195-
│   │   │   ├── boards
196-
│   │   │   │   ├── ... # other boards
197-
│   │   │   ├── corne.conf # general configurations of the corne
198-
│   │   │   ├── corne.dtsi # default dtsi
199-
│   │   │   ├── corne.keymap # default keymap
200-
│   │   │   ├── corne.zmk.yml # modify if you want to add a new shield
201-
│   │   │   ├── corne_dongle_pro_micro.conf # conf dongle pro_micro pinout
202-
│   │   │   ├── corne_dongle_pro_micro.overlay # properties/displays dongle
203-
│   │   │   ├── corne_dongle_xiao.conf # conf dongle xiao pinout
204-
│   │   │   ├── corne_dongle_xiao.overlay # properties/displays dongle
205-
│   │   │   ├── corne_left.conf # conf left
206-
│   │   │   ├── corne_left_peripheral.conf # config left peripheral
207-
│   │   │   ├── corne_right.conf # conf right
208-
│   │   │   ├── ... # other files
209-
│   │   ── dongle_display
210-
│   │      ├── ... # here you can modify the screen widgets
211-
│   │      └── widgets
212-
   │      └── # here you can modify the screen widgets
200+
│   boards
201+
│   ├── ... # other boards
202+
│   ├── nice_nano_v2.overlay
203+
│   ├── puchi_ble_v1.overlay
204+
│   ── shields
205+
│   ── corne
206+
│   │   ├── Kconfig.defconfig # modify if you want to add a new shield
207+
│   │   ├── Kconfig.shield # modify if you want to add a new shield
208+
│   │   ├── boards
209+
│   │   │   ├── ... # other boards
210+
│   │   ├── corne.conf # general configurations of the corne
211+
│   │   ├── corne.dtsi # default dtsi
212+
│   │   ├── corne.keymap # default keymap
213+
│   │   ├── corne.zmk.yml # modify if you want to add a new shield
214+
│   │   ├── corne_dongle_pro_micro.conf # conf dongle pro_micro pinout
215+
│   │   ├── corne_dongle_pro_micro.overlay # properties/displays dongle
216+
│   │   ├── corne_dongle_xiao.conf # conf dongle xiao pinout
217+
│   │   ├── corne_dongle_xiao.overlay # properties/displays dongle
218+
│   │   ├── corne_left.conf # conf left
219+
│   │   ├── corne_left_peripheral.conf # config left peripheral
220+
│   │   ├── corne_right.conf # conf right
221+
│   │   ├── ... # other files
222+
│   ── dongle_display
223+
│      ├── ... # here you can modify the screen widgets
224+
│      └── widgets
225+
│      └── # here you can modify the screen widgets
226+
config # configuration folder
213227
│   ├── config_keymap-drawer.yaml # config file keymap-drawer
214228
│   ├── corne.conf # general configurations of the corne
215229
│   ├── corne.keymap # your keymap file
@@ -413,6 +427,56 @@ control, shift, alt, windows/mac, etc.
413427
An example of Dongle Designs (by @rain2813):
414428
[![dongle-designs-demo](src/macintosh.png)](https://www.youtube.com/c/mctechnology17)
415429
430+
# ZMK STUDIO
431+
432+
This repository includes the necessary configuration to use zmk-studio without
433+
the need to configure anything else. You just have to follow the steps below:
434+
- fork this repository y flash the firmware to the keyboard with the uf2 files
435+
- connect the master (dongle or central) to the PC
436+
- Modify the keyboard mapping on the go with [ZMK Studio
437+
Web](https://zmk.studio/) and enjoy the changes!
438+
439+
> [!TIP]
440+
>
441+
> 1. For zmk-studio it is necessary to enable the `&studio_unlock` macro but you
442+
> can skip this if you use `CONFIG_ZMK_STUDIO_LOCKING=n` in your zmk
443+
> configuration. This is enabled by default in this repository.
444+
> 2. Remember that this has to be activated on the master and the dongle:
445+
> `snippet: studio-rpc-usb-uart`
446+
> 3. with the `cmake-args: -DCONFIG_ZMK_USB=y` flag you can activate the master
447+
> (dongle or central) to connect always defaults to usb.
448+
> 4. The zmk-studio only connects with USB on the web and only BLE in the app,
449+
> it is useful to have a toggle key to switch between BLE and USB. (this is
450+
> what I understood, if not, please correct me)
451+
452+
Useful links:
453+
- [ZMK Studio Web](https://zmk.studio/)
454+
- [ZMK Studio Unlock Behavior](https://zmk.dev/docs/keymaps/behaviors/studio-unlock/)
455+
- [ZMK Studio Testing Steps / click hier for more ...](https://discord.com/channels/719497620560543766/719544534500900886/1296241576263024641):
456+
* [Set up ZMK Studio](https://zmk.dev/docs/development/hardware-integration/studio-setup) for your device, if needed.
457+
* [Build with ZMK Studio enabled](https://zmk.dev/docs/features/studio) and flash to the device.
458+
* Test ZMK Studio by loading https://zmk.studio/ or installing the app from the latest release at https://github.com/zmkfirmware/zmk-studio/releases/
459+
460+
### Reporting
461+
462+
Please report any and all testing results, even successful results in [Discord
463+
zmk-studio](https://discord.com/channels/719497620560543766/722441502948851741.)
464+
If you have a genuine bug to report, please file a new [GitHub
465+
Issue](https://github.com/zmkfirmware/zmk-studio/issues/new/choose). With any
466+
bugs or testing results, please include all the relevant details, including the
467+
host OS, app/browser details, keyboard used, link to your config repo, etc.
468+
469+
# MODULE INTEGRATION
470+
> [!TIP]
471+
>
472+
> 1. You can activate or deactivate the animation with: CONFIG_NICE_VIEW_GEM_ANIMATION=n
473+
> the animation is not activated by default in this repository for saving
474+
> battery. This is activated only in the peripheries and the corne master, not
475+
> in the dongles, because this module shows the status of the batteries in the
476+
> peripheries
477+
478+
See module details here for more information and more configurations: [nice-view-gem](https://github.com/M165437/nice-view-gem)
479+
416480
# INSPIRATIONS
417481
418482
- [englmaxi/zmk-config](https://github.com/englmaxi/zmk-config)
@@ -434,6 +498,10 @@ If you enjoy my contributions, feel free to donate. I appreciate if you follow m
434498
- [paypal]
435499
- [sponsor]
436500
501+
# TODO
502+
- [ ] Add more features to the repository
503+
- [ ] Update the documentation
504+
437505
[^1]: Keymap-drawer, https://github.com/caksoylar/keymap-drawer https://keymap-drawer.streamlit.app/
438506
[^2]: caksoylar zmk-config example for keymap-drawer https://github.com/caksoylar/zmk-config
439507
[^3]: Install pipx, https://pipx.pypa.io/stable/

boards/shields/corne/Kconfig.defconfig

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@ config ZMK_KEYBOARD_NAME
66
config ZMK_SPLIT_ROLE_CENTRAL
77
default y
88

9-
config ZMK_USB
10-
default y
9+
# if SHIELD_CORNE_DONGLE_XIAO || SHIELD_CORNE_DONGLE_PRO_MICRO
10+
11+
# config ZMK_USB
12+
# default y
13+
14+
# endif
1115

1216
endif
1317

14-
if SHIELD_CORNE_LEFT || SHIELD_CORNE_RIGHT || SHIELD_CORNE_DONGLE_XIAO || SHIELD_CORNE_LEFT_PERIPHERAL || SHIELD_CORNE_DONGLE_PRO_MICRO
18+
if SHIELD_CORNE_LEFT || SHIELD_CORNE_RIGHT || SHIELD_CORNE_LEFT_PERIPHERAL || SHIELD_CORNE_DONGLE_XIAO || SHIELD_CORNE_DONGLE_PRO_MICRO
1519

1620
config ZMK_SPLIT
1721
default y

boards/shields/corne/corne.dtsi

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,22 @@
66

77
#include <dt-bindings/zmk/matrix_transform.h>
88

9+
#include <layouts/foostan/corne/5column.dtsi>
10+
#include <layouts/foostan/corne/6column.dtsi>
11+
12+
&foostan_corne_6col_layout {
13+
transform = <&default_transform>;
14+
};
15+
16+
&foostan_corne_5col_layout {
17+
transform = <&five_column_transform>;
18+
};
19+
920
/ {
1021
chosen {
1122
zephyr,display = &oled;
1223
zmk,kscan = &kscan0;
13-
zmk,matrix-transform = &default_transform;
24+
zmk,physical-layout = &foostan_corne_6col_layout;
1425
};
1526

1627
default_transform: keymap_transform_0 {
@@ -36,7 +47,7 @@ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9)
3647
// | SW2 | SW3 | SW4 | SW5 | SW6 | | SW6 | SW5 | SW4 | SW3 | SW2 |
3748
// | SW8 | SW9 | SW10 | SW11 | SW12 | | SW12 | SW11 | SW10 | SW9 | SW8 |
3849
// | SW14 | SW15 | SW16 | SW17 | SW18 | | SW18 | SW17 | SW16 | SW15 | SW14 |
39-
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
50+
// | SW19 | SW20 | SW21 | | SW21 | SW20 | SW19 |
4051
map = <
4152
RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10)
4253
RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10)

boards/shields/corne/corne.zmk.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ features:
99
- keys
1010
- display
1111
- underglow
12+
- studio
1213
siblings:
1314
- corne_left
1415
- corne_right
Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,30 @@
11
# MC:
2-
# compatible with all versions of nrf52840 (pro micro):
3-
# - nice_nano (not tested)
4-
# - nice_nano_v2 (tested)
5-
# - nice_nano_v2 (super mini -> nice_nano_v2 clon) (tested)
6-
# - nrfmicro_11 (not tested)
7-
# - nrfmicro_11_flipped (not tested)
8-
# - nrfmicro_13 (not tested)
9-
# - puchi_ble_v1 (tested)
2+
# compatible con todas las versiones de nrf52840 (pro_micro):
3+
# - nice_nano (no probado)
4+
# - nice_nano_v2 (probado)
5+
# - nice_nano_v2 (super mini -> nice_nano_v2 clon) (probado)
6+
# - nrfmicro_11 (no probado)
7+
# - nrfmicro_11_flipped (no probado)
8+
# - nrfmicro_13 (no probado)
9+
# - puchi_ble_v1 (probado)
1010

11+
### DONGLE MODE
12+
CONFIG_ZMK_SPLIT_BLE_CENTRAL_PERIPHERALS=2
13+
14+
### DONGLE OPTIONS
1115
# 3 profiles (n+2)
1216
CONFIG_BT_MAX_CONN=5
1317
CONFIG_BT_MAX_PAIRED=5
1418

15-
# dongle mode
16-
CONFIG_ZMK_SPLIT_BLE_CENTRAL_PERIPHERALS=2
17-
18-
# display
19+
### DISPLAY DONGLE OPTIONS
1920
CONFIG_ZMK_DISPLAY=y
2021
CONFIG_BT_BAS=n
2122
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
2223

23-
# enable logging and configure zmk logging to debug output
24-
# CONFIG_ZMK_USB_LOGGING=y
25-
# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000
26-
2724
### POWER OPTIONS
28-
CONFIG_ZMK_EXT_POWER=y
29-
# the battery power report interval unit is seconds
25+
# La unidad del intervalo del informe de energía de la batería es segundos
3026
CONFIG_ZMK_BATTERY_REPORT_INTERVAL=60
31-
# MC: changed so that he always stays awake
32-
CONFIG_ZMK_SLEEP=n
33-
# 1800000 milliseconds = 30 minutes * 60 seconds * 1000
34-
# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000
35-
# number of milliseconds of inactivity before entering idle state
36-
CONFIG_ZMK_IDLE_TIMEOUT=60000
37-
# add keyboard bounce
38-
# CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=5
39-
# CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5
40-
# Increase the transmission power of the keyboard ble radio to solve the
41-
# problem of left and right delay and poor communication.
42-
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
43-
CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
44-
# change default keyboard display name
45-
# CONFIG_ZMK_KEYBOARD_NAME="Nice_Dongle_Oled"
46-
CONFIG_ZMK_MOUSE=y
4727

48-
### Improves compatibility with iPad
49-
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y
28+
### DEBUG OPTIONS
29+
# CONFIG_ZMK_USB_LOGGING=y
30+
# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000

0 commit comments

Comments
 (0)