Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Corne Virtual Keyboard for ZMK

A raylib/raygui companion GUI that visualizes a Corne's live key and layer state streamed over raw HID from ZMK firmware.

GUI screenshot 1 GUI screenshot 2

Requirements

  • Homebrew dependencies:

    brew install raylib hidapi
    
  • Corne ZMK firmware exposing the raw HID broadcaster (the protocol in src/protocol.c mirrors kb_broadcaster/protocol.h)

Firmware

Your Corne must run ZMK firmware built with two modules:

  1. zmk-raw-hid (raw HID transport)
  2. zmk-kb-broadcaster (broadcasts key/layer events over raw HID — the wire protocol src/protocol.c speaks).

Add both to config/west.yml and append the raw_hid_adapter shield (from zmk-raw-hid) to your shields in build.yaml:

# config/west.yml
manifest:
  remotes:
    - name: zmkfirmware
      url-base: https://github.com/zmkfirmware
    - name: zzeneg
      url-base: https://github.com/zzeneg
    - name: jameshaston
      url-base: https://github.com/jameshaston
  projects:
    - name: zmk
      remote: zmkfirmware
      import: app/west.yml
    - name: zmk-raw-hid
      remote: zzeneg
      revision: main
    - name: zmk-kb-broadcaster
      remote: jameshaston
      revision: main
  self:
    path: config
# build.yaml
include:
  - board: nice_nano_v2
    shield: corne_left nice_view_adapter nice_view raw_hid_adapter
  - board: nice_nano_v2
    shield: corne_right nice_view_adapter nice_view raw_hid_adapter

Enable the broadcaster in config/corne.conf, then flash both halves:

CONFIG_ZMK_KB_BROADCASTER=y

Once flashed, the app works over USB or Bluetooth on any platform.

Build & Run

make release
make run-release

Debug builds: make debug / make run-debug. Cleanup: make clean.

Tests

make test

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages