OK, what's your deal?

I have a desk job. Even when I'm not at my job, I find that I spend a lot of time at my desk, because I'm hopelessly addicted to my electronic overlords. I'm OK with that. What I'm not OK with - but I've put up with for far too long - is constantly moving my hand between my keyboard and my mouse: Type a little, switch to the mouse, move, click, switch to the keyboard. Type a little... repeat. Forever. It's annoying. Sometimes when I move to my mouse, I accidentally bump it and lose my cursor. Sometimes when I go back to my keyboard, I don't home properly and start typing gibberish.

Look at this travesty - moving the hand from the keyboard to the mouse?

I'll be honest: This is a pretty first-world problem. But am I some regular guy who just puts up with problems or complains about them on the internet? NO! I'm an ENGINEER! So I decided to do something about it. Then I did something about it. Then I named it Dichotomy. Now I want to share it with you.

I've seen something like this before!

I'm not the first person to come up with this idea - I'm likely not the last, either. Like Leibniz and Newton (whose respective works seem rather... derivative), there are a couple of projects that have accomplished a similar ends. Why is Dichotomy different? It's simple. (That's not just a rhetorical statement prefacing what I'm about to explain about Dichotomy, that's the literal answer to the question I just posed.) Dichotomy is simple. It's not a crazy revolution to the way you type that will change your life forever - it's more or less what you're already used to. You're used to typing on a flat keyboard? So am I. You're used to QWERTY? So am I! (If you're a Dvorak or Colemak guy, (or if you're insane and have your own, perfectly-optimized layout) that's fine, too - this'll still work!) Dichotomy has been designed - from the beginning - to be easy and familiar.

Hmm... tell me more.

I've had this idea for a while, but I was finally inspired to make it happen when I saw a similar project, titled "Mitosis," on reddit (I already mentioned the electronic overlords, so I can safely tell you that I have spent more hours on that website than I care to count). If you're interested, I'd recommend taking a look - it's a fantastic read. I set out to adapt his design to my own tastes and incorporate an optical sensor to make the whole thing ridiculously OP.

Here is one half of Dichotomy being assembled. You can be amazed; it's pretty cool.

Along the way I've been able to use and expand my skills, and get a bunch of wonderful input from an almost-cult of keyboard enthusiasts. None of this would be possible without the help of the good folks developing the powerful, open-source keyboard firmware this runs: QMK.

How does it work?

At it's heart, it's pretty simple. OK, that was a lie. But it's awesome. 1000 times every second, a microcontroller/wireless transceiver module on each keyboard half checks the switch status to see what the keys and scroll wheel are doing, as well as what the optical sensor reports. It checks everything over - running a button debouncing routine to make sure the switches are actually where they say they are - and sends a wireless packet to the receiver. The receiver combines packets from the left and right modules and passes that to a USB controller running QMK, which compares keystate information with it's internal keyboard map, and finally it sends that data to the computer as keystrokes, scrolls, mouse movements, and clicks.

Here, we see the assembled Dichotomy in it's natural habitat: the desk. Feel free to read this in a nature documentary voice.

If that's overwhelming (or, for a few of you, underwhelming), don't sweat it: Once assembled, it works right out of the box, more or less the same as any other keyboard and mouse you've ever used... but BETTER. Just plug in the receiver to a USB port and have at it - it works on Mac, Windows, and Linux without a problem. If you're interested in more technical details, I'm not trying to keep anything a secret - most of the information can be found in the reddit post where I'm showing it off.

No, no, I don't care how the hardware works. How does this Kickstarter work?

Oh. That. Right. Here's the short version: my hardware already exists - and works. There's not some obscene amount of debugging or improvement that needs to go on. Once this Kickstarter is funded, there are very few things on the checklist of "things that need to happen before this is in your hands." The summary? Build final prototype, buy parts, assemble things, ship things.

First, I'm going to make a final prototype that implements some final changes I want to make to my functional prototype - changing the scroll wheel setup a little bit, adding a power switch, moving the mouse LED back a few mm to a more protected position, spelling "Dichotomy" properly on the circuit board, and splitting the circuit board designs for the top and bottom boards. All pretty small items. This process will be on-going as soon as I can determine that the Kickstarter will be funded properly, so it'll probably start before the campaign even ends.

Second, I order all the necessary parts, boards, laser-cut bases, etc - I've already found reliable, high-quantity sources for the large majority of them so we can avoid bottlenecks and late deliveries. Once all the parts are ordered, things should arrive to me within 1-2 months as a worst case.

Third, assembly. Whether it's soldering everything together or merely collecting all the right items for a kit, each order will be assembled in preparation to ship. In many cases, that means flashing chips with the right firmware so it's ready to use as soon as you get (or solder) it. I'm conveniently located near a university with a decently-sized Electrical Engineering program, and I plan on employing starving college students like a slavemaster to get everything soldered nicely. Don't worry: every function of every unit will be hand-tested before shipping.

Fourth, everything gets shipped. I've marked shipping dates as June/August, but there is a possibility that things could ship even before then. If volume exceeds my expectations and plans, then orders will be shipped as completed, on a first-order-first-ship basis.

"Where does Dichotomy come from?" "Well, when a keyboard, mouse, and wireless transceiver love each other very much..."

How customizable is it?

That question depends on a couple things. Key functions are controlled by QMK, which is designed to be user-configurable - so you can set exactly what each key on Dichotomy does. If there is enough demand for Dichotomy, I'll invest in making an easy-to-use GUI to configure this.

The optical sensor I intend to use has configurable DPI up to 2400DPI. The mechanical switches are planned as any variant of Cherry MX: in my own, I used light grey, but you can use whatever suits you. For information on what different switch options are available, see here or here (please note I did not make these resources, the links are provided as reference) - I plan on offering Cherry MX Red, Black, Dark Grey, Brown, Clear, Light Grey, Blue, Green, and White.

As you may be able to tell, this is only a picture of light grey switches - because that's what I had on hand. With the power of IMAGINATION, however, they're every color.

The circuit boards will come in any color your like as long as it's black, but the keycaps will come in White or Black - at least, that's the plan for now. My keycaps are blank, but I've found a source to print a legend on them if you prefer. The legend will only come in the default configuration. If there is enough interest in alternate layouts - which will be revealed during backer surveys - then I'll get keycaps printed for those, too.