this is a simple site i made to demonstrate the possibility to compile my QMK keyboard firmware to target webassembly. whilst ultimately useless, its a pretty cool novelty !!
i use it internally to actually develop the firmware -- building the entirety of QMK and flashing it to my keyboard takes a lot of time and makes iteration hard. i've abstracted away QMK's APIs which made porting to WASM a lot easier, and which makes the behaviour practically identical to the real thing.
to be clear -- this isn't a javascript rewrite of my firmware, nor is it a full port of QMK to webassembly. i'd hate to be the person writing that !! my safe abstractions around QMK's APIs are the only things i modified to work in a browser -- no QMK APIs are compiled into the final binary. the actual code running in your browser is the same code running on my actual, real life keyboard, compiled from the same rust codebase.