https://github.com/lmilojevicc/zmk-wireless-corne
Personal ZMK config and keymaps for Corne
https://github.com/lmilojevicc/zmk-wireless-corne
corne zmk zmk-config
Last synced: 7 days ago
JSON representation
Personal ZMK config and keymaps for Corne
- Host: GitHub
- URL: https://github.com/lmilojevicc/zmk-wireless-corne
- Owner: lmilojevicc
- Created: 2025-02-11T01:08:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-07T00:52:42.000Z (3 months ago)
- Last Synced: 2026-03-07T07:26:43.790Z (3 months ago)
- Topics: corne, zmk, zmk-config
- Language: Shell
- Homepage:
- Size: 107 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Corne ZMK Configuration
> [!WARNING]
> **This keyboard is not the same as [foostan's Corne](https://github.com/foostan/crkbd). It will not work with standard `corne` firmware.**
## Setup Instructions
The easiest way to get started is by letting GitHub build the firmware for you.
1. **Fork this Repository:** Click the "Fork" button at the top-right of this page.
2. **Enable GitHub Actions:** In your newly forked repository, navigate to the "Actions" tab. If prompted, click the button to enable workflows.
3. **Customize Your Keymap:** You can edit your keymap in a few ways:
- Directly edit the `config/corne.keymap` file.
- Use the [ZMK Studio](https://zmk.studio/) for live changes.
- Use the visual [Keymap Editor](https://nickcoutsos.github.io/keymap-editor/).
4. **Commit \& Download:** Once you commit your changes, the GitHub Action will automatically build your new firmware. You can download it from the "Actions" tab once the build is complete.
## Keymap Diagram

## Building Firmware With Dev Container (Recommended)
Make sure you have `devcontainer` installed and available.
```bash
devcontainer --version # 0.80.3
```
### Initialize Dev Container Environment
```bash
devcontainer up --workspace-folder .
devcontainer exec --workspace-folder . /bin/bash
```
### Setup West
```bash
# 1. Initialize the West workspace using config's west.yml
west init -l config
# 2. Download Zephyr and ZMK modules
west update
# 3. Export CMake settings for Zephyr
west zephyr-export
```
### Build The Firmware Manually
```bash
west build -s zmk/app -d build/left -b corne_left//zmk -- \
-DSHIELD="nice_view_adapter nice_view_gem"
west build -s zmk/app -d build/right -b corne_right//zmk -- \
-DSHIELD="nice_view_adapter nice_view_gem"
```
### Build The Firmware With Bash Script
```bash
chmod +x ./devcontainer-build.sh
./devcontainer-build.sh
```
## Building Firmware Locally
### Set-up local environment
1. Create a new virtual environment:
```bash
python3 -m venv .venv
```
2. Activate the virtual environment:
```bash
source .venv/bin/activate
```
3. Install west:
```bash
pip install west
```
4. Initialize the application and update to fetch modules, including Zephyr:
```bash
west init -l config
west update
```
5. Export a Zephyr CMake package. This allows CMake to automatically load boilerplate code required for building Zephyr applications.
```bash
west zephyr-export
```
6. Install the additional dependencies found in Zephyr's requirements-base.txt:
```bash
pip install -r zephyr/scripts/requirements-base.txt
```
7. Install the Zephyr SDK: Follow the official instructions to [install the Zephyr SDK](https://docs.zephyrproject.org/3.5.0/develop/getting_started/index.html#install-zephyr-sdk), which contains the toolchains needed to compile the firmware.
### Building Firmware After Initial Setup
Once you've completed the initial configuration steps, you can easily build the firmware using the provided `build.sh` script.
```
chmod +x build.sh
./build.sh
```
## Troubleshooting Common Issues
### Missing packages
During the build process, you might see an error about missing Python packages, such as `elftools` or Google `protobuf`.
```bash
**********************************************************************
*** Could not import the Google protobuf Python libraries ***
*** ***
*** Easiest solution is often to install the dependencies via pip: ***
*** pip install protobuf grpcio-tools ***
**********************************************************************
```
1. Activate your Python virtual:
```bash
source .venv/bin/activate
```
1. Install the required package:
```bash
pip install pyelftools protobuf grpcio-tools
```
1. **Re-run** the build script. If the issue persists, try deactivating and reactivating the virtual environment (`deactivate` then `source .venv/bin/activate`).