# Basic manual for firmware hacking

**URL:** <https://community.keyboard.io/t/basic-manual-for-firmware-hacking/1165>\
**Category:** Programming\
**Created:** [March 1, 2018, 5:31pm UTC](https://community.keyboard.io/t/basic-manual-for-firmware-hacking/1165 "2018-03-01T17:31:01Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bbyfield](https://avatars.discourse-cdn.com/v4/letter/b/f04885/32.png) [@bbyfield](https://community.keyboard.io/u/bbyfield)\
**Post date:** [March 1, 2018, 5:31pm UTC](https://community.keyboard.io/t/basic-manual-for-firmware-hacking/1165/1 "2018-03-01T17:31:01Z")

</div>

Would there be any point in producing a basic manual for hacking the firmware? Or is the graphic interface close enough to being ready to make the effort unnecessary?

By “basic,” I mean covering such details as editing the keybindings, creating layers, and where plugins should be stored – not a complete manual for programming.

If there’s a need, I am seriously considering doing one.

---

<div class="post-metadata">

**Author:** ![algernon](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/algernon/32/4404_2.png) [@algernon](https://community.keyboard.io/u/algernon)\
**Post date:** [March 1, 2018, 6:16pm UTC](https://community.keyboard.io/t/basic-manual-for-firmware-hacking/1165/2 "2018-03-01T18:16:16Z")

</div>

Even if the GUI would be close enough, I’d say there’d still be a need. There are things you will never be able to do with the GUI, so a basic guide to firmware hacking would be useful nevertheless.

---

<div class="post-metadata">

**Author:** ![jesse](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/jesse/32/361_2.png) [@jesse](https://community.keyboard.io/u/jesse)\
**Post date:** [March 1, 2018, 8:10pm UTC](https://community.keyboard.io/t/basic-manual-for-firmware-hacking/1165/3 "2018-03-01T20:10:35Z")

</div>

@bbyfield That’s something that would definitely be a huge boon to Kaleidoscope. It’s been our intent that that documentation would live as part of [https://github.com/keyboardio/Kaleidoscope/wiki](https://github.com/keyboardio/Kaleidoscope/wiki)

Some bits of what you mention are already there, but we know we still have a long way to go.

---

<div class="post-metadata">

**Author:** ![bbyfield](https://avatars.discourse-cdn.com/v4/letter/b/f04885/32.png) [@bbyfield](https://community.keyboard.io/u/bbyfield)\
**Post date:** [March 2, 2018, 11:17pm UTC](https://community.keyboard.io/t/basic-manual-for-firmware-hacking/1165/4 "2018-03-02T23:17:13Z")

</div>

I’m pretty busy right now, but I figure that writing will force me to learn more systematically – and sooner.

Some of what’s on the wiki looks very thorough to me.

---

<div class="post-metadata">

**Author:** ![merlin](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/merlin/32/3416_2.png) [@merlin](https://community.keyboard.io/u/merlin)\
**Post date:** [March 2, 2018, 11:25pm UTC](https://community.keyboard.io/t/basic-manual-for-firmware-hacking/1165/5 "2018-03-02T23:25:22Z")

</div>

I set out to do some of that documentation work last fall. I wasn’t comfortable writing anything up until I understood the code fully. Then I accidentally started writing code instead…

---

<div class="post-metadata">

**Author:** ![bbyfield](https://avatars.discourse-cdn.com/v4/letter/b/f04885/32.png) [@bbyfield](https://community.keyboard.io/u/bbyfield)\
**Post date:** [March 8, 2018, 1:47am UTC](https://community.keyboard.io/t/basic-manual-for-firmware-hacking/1165/6 "2018-03-08T01:47:16Z")

</div>

That’s the danger of documentation. If you want to do a decent job, it requires you to learn what you’re writing about.

Too many technical writers don’t bother – which is one reason why there is so much poor documentation about.
