Mechanical Keyboard Is Also A Mouse

The mechanical keyboard community is a vibrant, if not fanatical, group of enthusiasts determined to find as many possible ways of assembling, building, and using as many high-quality keyboards as possible. With so many dedicated participants, most things that can be done with a keyboard already have been done. So when something as unique as this split keyboard that also doubles as a mouse pops up, we take notice.

The keyboard is a custom build from [Taliyah Huang] which uses a pair of Arduinos, one in each half of the keyboard, to communicate key and mouse information to a third Arduino which is plugged in to her laptop. The right-hand half of the keyboard also includes the circuitry from an optical mouse, which gets powered up when the caps lock button is held down. When activated, this allows the keyboard to be used as a mouse directly. It also includes support for most Mac gestures as well, making it just as useful as a trackpad.

While there were some problems with the design, including being slightly too tall to be ergonomic and taking nearly 24 hours of soldering to complete, the prototype device is an interesting one especially since it allows for full control of a computer without needing a dedicated mouse. For other unique mechanical keyboard concepts, we recently featured this build which takes design and functionality cues from the Commodore 64.

15 thoughts on “Mechanical Keyboard Is Also A Mouse

  1. Had this idea a while back, and couldn’t resolve some of the problems. Looks like she ran into the same problems. Like the keyboard being too thick. And I also couldn’t work out how to keep it light enough. With a mouse you often have to pick it up to move it. So you have to grab and lift, but with a keyboard that’s a hard problem. I thought maybe do a smaller right side, or then maybe just have the keypad be a mouse.

    1. You only have to pick up and move a mouse because the mouse has no mechanism to recentre its origin. Pick a suitable key combo in this case, or perhaps a specific layer even, and you would then have the flexibility to adjust the origin/resolution etc. removing the need to relocate the mouse itself.

      1. You wouldn’t want it to recenter, at least not as the main command. You would want a button to disable the tracking. That would effectively work like picking up the keyboard. It would allow you to move the keyboard without the cursor moving.

  2. I wonder if it might be more ergonomic to implant the optical sensor into a palm rest, and move your hand to move the mouse instead of the whole keyboard half… Or maybe capacative keys or something like a leap sensor for gesture recognition. The mind boggles at the possibilities :)

    I picked up a Moonlander mechanical keyboard a while back and one of the neat features (besides being able to change the layout and reflash from a browser without needing 3rd party software) is the ability to set macros to move the mouse. In my current setup I can activate the mouse by holding a chord and using ijkl keys (plus mousewheel emulation using other nearby keys). Definitely not as quick/accurate as a solution like this one though, but useful in a pinch.

  3. I wonder if it might be more ergonomic to implant the optical sensor into a palm rest, and move your hand to move the mouse instead of the whole keyboard half… Or maybe capacative keys or something like a leap sensor for gesture recognition. The mind boggles at the possibilities :)

    I picked up a Moonlander mechanical keyboard a while back and one of the neat features (besides being able to change the layout and reflash from Chrome) is the ability to set macros to move the mouse. In my current setup, I can control the mouse by holding a chord and using ijkl keys (plus mousewheel emulation on nearby keys). Not as smooth of a solution as this one but still improves efficiency a bit since I don’t have to take my hands off the keyboard.

  4. Interesting idea, clearly needs some revisions but the concept seems like it should be possible to make practical. I think it needs one of those wrist cup type rests that some more tilted off the desk split keyboards have – this is never going to be a finger tip twitching ultra light fine precision gamer mouse so just coupling the mouse movement more directly to the wrist and base of the hand ‘captured’ in the shaped rest would I think improve comfort – the fingers are not trying to hold it with nothing to actually really grip. Or actually go one step further and really tilt the keyboard halves near vertical so the side of the keyboard as it stands is the mouse surface and the thumb can wrap around the keyboard for grip in mouse mode…

    I do wonder if the better option here though isn’t to have the whole keyboard section play mouse but just a section of it – make the base grippy and static and treat a cluster of keys that are free to move (or even very well locked in place by some load cells) as a joystick mouse. Not sure what the side loading would do to a cherry style switch over time, its really not what they are designed for but equally the forces should stay low for comfort and they are in many ways massively over engineered so I don’t think it would be an issue.

    Wasn’t paying attention fully to the video but it seemed like they were using an entirely resistor ladder analogue key matrix? If so I really don’t understand why.

  5. That’s certainly an option. I question the need for three Arduinos because that just shows the maker didn’t use ic2. QMK has all the software to do this, but you usually just assign arrow keys to control the mouse rather than add an optical sensor.

  6. hahah when i saw the headline i was half expecting it to be like my dumb hack that simply remaps a few key combinations to generate “Xtst” synthetic mouse events, which works with regular keyboards. i use it on PCs where there’s no mouse, or laptops where the trackpad (or just its buttons) has gone wonky.

  7. When I watched her slide it around I immediately thought that that was going to be murder on her shoulder. As for that kind of functionality… some kind of ergodox/redox split ergonomic layout with a trackball near one of the thumbs (or maybe the thumb pad from a Steam controller) would work better, I think. I like the idea of having macros for window tiling, that never occurred to me.

    As for getting used to a column staggered / ortholinear layout rather than row staggered, it’s not that bad. I switched last year; took about 3 days of it actively being annoying, and then maybe another week before I was back to my old typing speed.

Leave a Reply to DaDudeCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.