How to use custom layout on keyboard.io and laptop keyboard (hardware vs software layout)

I would do this in two stages - firstly create a software layout that works for your laptop keyboard, using whatever OS tool you like, and then create a firmware layout in the model01 that maps each physical key to the original US English legend of the corresponding laptop key. So for example, say I wanted the key to the right of P (labelled [ on a US English laptop) to be an equals key =, I would first remap in the OS [ to =, and then map the corresponding key on the Model01 (R1C15) to [ (the original legend). That way you can leave the OS settings the same and have both the laptop keyboard and the Model01 keyboard in a correct state.

I am not aware of any way to enforce a given software layout on a random machine by just plugging in a keyboard - all keyboard events must pass through both the Model01 firmware mapping and the OS software mapping. Keyboards do not generate characters, they generate keypress events, and these must be interpreted by the OS.

4 Likes