# Kaleidoscope adapter for dumb keyboards?

**URL:** https://community.keyboard.io/t/kaleidoscope-adapter-for-dumb-keyboards/3077
**Category:** Hardware hacking
**Created:** [August 2, 2019, 1:44pm UTC](https://community.keyboard.io/t/kaleidoscope-adapter-for-dumb-keyboards/3077 "2019-08-02T13:44:54Z")
**Posts on this page:** 4
**Page:** 1

<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: [August 2, 2019, 1:44pm UTC](https://community.keyboard.io/t/kaleidoscope-adapter-for-dumb-keyboards/3077/1 "2019-08-02T13:44:54Z")

</div>

I’ve been imagining a hardware adapter that turns a normal keyboard into a programmable keyboard, and wondering what it would take to build such a thing.

This would be a device that connects to the host on one end and the keyboard on the other, powering itself and the keyboard from the host. It would essentially just use the keyboard as a keyscanner, accepting a USB keyboard HID report and turning that into key up and down events. On the other end, it would do everything Kaleidoscope does except lighting up keys on keyboards like the Model01.

I’m guessing this would be a fairly inexpensive device to make, even if it uses a much more powerful processor, with a lot more memory and storage than the ATMega32u4 in the Model01. And having that much storage, it could easily do things like storing an entire compose-key table for each OS, which the Model01 simply doesn’t have the capacity for.

Now that I’ve thought of it, it seems like an obvious trick. Is there such a thing out there, perhaps running QMK? Or is there some non-obvious reason this is quite difficult to do?

---

<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: [August 2, 2019, 1:46pm UTC](https://community.keyboard.io/t/kaleidoscope-adapter-for-dumb-keyboards/3077/2 "2019-08-02T13:46:08Z")

</div>

To be clear, I do not have plans to build such a device myself, though I wouldn’t rule out doing so someday.

---

<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: [August 2, 2019, 2:01pm UTC](https://community.keyboard.io/t/kaleidoscope-adapter-for-dumb-keyboards/3077/3 "2019-08-02T14:01:57Z")

</div>

> [@merlin](#):
>
> Now that I’ve thought of it, it seems like an obvious trick. Is there such a thing out there, perhaps running QMK?

There’s [USB2USB](https://github.com/qmk/qmk_firmware/tree/master/keyboards/converter/usb_usb) support in QMK, with links to available hardware/kits/etc. Should be reasonably simple to build a similar thing for Kaleidoscope too.

---

<div class="post-metadata">

### Author: ![noseglasses](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/noseglasses/32/429_2.png) [@noseglasses](https://community.keyboard.io/u/noseglasses)
#### Post date: [August 4, 2019, 4:26pm UTC](https://community.keyboard.io/t/kaleidoscope-adapter-for-dumb-keyboards/3077/4 "2019-08-04T16:26:37Z")

</div>

I thought about buying this some years ago, before I went with programmable keyboards:

> **[Hasu USB to USB Controller Converter » 1upkeyboards](https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/)**
>
>  
> Turn almost any USB keyboard into a programmable keyboard!
> This converter, created by Hasu, allows you to change the keymap and add functions through TMK firmware. NO soldering required.
> Externally attached.
> Add up to 7 layers and up to 32...
