Native Posix board target

In order to iterate quickly on firmware features, it can be helpful to build and run the firmware on your local workstation, with generated virtual press/release events flowing into the handler functions.

Prerequisites

In order to build targeting the native_posix board, you need to setup your system with a compiler that can target 32-bit POSIX.

On Debian, you can do this with:

apt install -y gcc-multilib

Building

To do this, you can build ZMK targeting the native_posix board.

west build --pristine --board native_posix

Once built, you can run the firmware locally:

./build/zephyr/zephyr.exe

Virtual Key Events

The virtual key presses are hardcoded in boards/native_posix.overlay file, should you want to change the sequence to test various actions like Mod-Tap, etc.