# XKB geometry file for Keyboard.io Model 01

**URL:** https://community.keyboard.io/t/xkb-geometry-file-for-keyboard-io-model-01/4034
**Category:** Model 01 Layouts
**Created:** [August 5, 2020, 6:42pm UTC](https://community.keyboard.io/t/xkb-geometry-file-for-keyboard-io-model-01/4034 "2020-08-05T18:42:30Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![hook](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/hook/32/2901_2.png) [@hook](https://community.keyboard.io/u/hook)
#### Post date: [August 5, 2020, 6:42pm UTC](https://community.keyboard.io/t/xkb-geometry-file-for-keyboard-io-model-01/4034/1 "2020-08-05T18:42:30Z")

</div>

I’m creating a separate ergonomic layout for my mother tongue, and through that I started peeking down the XKB rabbit hole. Which means I learnt about `/usr/share/X11/xkb/` and its contents.

What made me wonder is why I can see a HHK, TECK and Kinesis file in the `geometry/` subfolder, but not one for Model 01.

Does anyone happen to have created one and is willing to share (and hopefully also contribute to upstream)?

* * *

Just found this question also popped up at the end of this thread (a bit off topic though): [Looking for advice with Qukeys/Spacecadet and unicode](https://community.keyboard.io/t/looking-for-advice-with-qukeys-spacecadet-and-unicode/2062/7)

---

<div class="post-metadata">

### Author: ![andrewg](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/andrewg/32/43_2.png) [@andrewg](https://community.keyboard.io/u/andrewg)
#### Post date: [August 6, 2020, 9:20am UTC](https://community.keyboard.io/t/xkb-geometry-file-for-keyboard-io-model-01/4034/2 "2020-08-06T09:20:00Z")

</div>

> **[andrewgdotcom/keyboardio-xkb](https://github.com/andrewgdotcom/keyboardio-xkb)**
>
> Some XKB files for use with the Keyboardio Model 01 - andrewgdotcom/keyboardio-xkb

---

<div class="post-metadata">

### Author: ![hook](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/hook/32/2901_2.png) [@hook](https://community.keyboard.io/u/hook)
#### Post date: [August 6, 2020, 9:38am UTC](https://community.keyboard.io/t/xkb-geometry-file-for-keyboard-io-model-01/4034/3 "2020-08-06T09:38:20Z")

</div>

Brilliant! Did you consider pushing this upstream, so at least more standard-like parts would get into general Linux distros?

---

<div class="post-metadata">

### Author: ![andrewg](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/andrewg/32/43_2.png) [@andrewg](https://community.keyboard.io/u/andrewg)
#### Post date: [August 6, 2020, 10:20am UTC](https://community.keyboard.io/t/xkb-geometry-file-for-keyboard-io-model-01/4034/4 "2020-08-06T10:20:06Z")

</div>

The problem with making geometries for programmable keyboards is that you need a different one for every firmware layout. I was using mine to demonstrate the effects of different firmware plus software layout combinations, and the only way to do this is to batch-generate many, _many_ different Model01 variant geometries (hence the scripts in the repo). This doesn’t really fit with the XKB mindset.

That said, it should be simple to burn off a factory layout and submit it upstream. I’m just not 100% happy with all of the key shapes and spacings as they currently stand. If you have any modifications they would be gratefully received. 🙂
