Inspired by Sci-Fi, an improved wearable keyboard/mouse with gestural enhancements. Suitable for use in VR environments as well.

Similar projects worth following
I really don't like keyboards. They are essentially just a board with buttons on them. They are not designed to work with hands. For example, the thumb is incredibly versatile, yet it plays almost no role on a keyboard. What a waste.

Learning to type is rather difficult and a lot of people do not type properly. This is because the actions that you are training to do 1. require visual feedback to learn and 2. depend on motions that are typically unnatural (e.g. precision motion of smallest finger to a location). It is natural that people tend to continue to look at the keyboard, that is how to you want to learn.

What if we made a keyboard that did not need eye-hand coordination. What if it was designed around the hand, using fingers as the way they work. While were at it, what if we were able to integrate a mouse, avoiding the switch between keyboard and mouse.

I think we can do better than what is out there.

I am working on a glove-keyboard/mouse. I am hoping to increase accuracy and learning rates by simplifying the keyboard. I want to remove odd motions and eye-hand coordination. This will hopefully minimize hitting the wrong key, hunt and peck style typing, and looking at the keyboard. Furthermore, in a virtual environment, a traditional keyboard will be limiting. The glove concept will work in either situation.

I am not viewing this as a complete replacement for the keyboard. There are cases when a keyboard is better, for example when you just need to search something quick. You don't want to put gloves on then. This is more for the case when you are 'wired in' working on something in depth, or in a VR world. I see this as a tool for me to use when coding or writing reports. Hopefully, I can increase my typing speed and accuracy with this tool.

The glove concept evolved from a hardware keyboard where I was trying to achieve the same goals as above. The glove concept emerged from reading "Ready Player One' and being inspired by the possibilities of virtual worlds/offices. I am still interesting in the hardware version, but the glove seems more versatile.

There are other gloves out there, and people have been playing with flex-resistors and gloves. Here is what I hope to do differently: First, I am avoiding chording (different combined motions lead to individual keystrokes). Chording is neat, but it is hard to learn and requires more motion per key. I would like something that is as close to a normal keyboard. Secondly, I am adding some simple gestural changes (hand orientation) to change the mode of the keyboard. For example, turning your hand to the side activates the shift key. Palm up gives you the num-pad. This allows you to change mode (I am also hoping to include mouse control here) without 'taking your hands off the keys'. Thirdly, I am adding analog hardware between the flex resistors and the micro in order to minimize processing. Feeding all of the flex resistors into analog inputs is not practical.

  • 2 × gloves
  • 1 × arduino leonardo microprocessor and USB device
  • 14 × DIY flex-resistor
  • 6 × LED's + resistors LED
  • 2 × 1 accelorometer

  • One Finger Circuit

    Eric Jacob08/20/2014 at 18:35 0 comments

    Here is a rough layout of the finger circuit. The finger resistor makes a voltage divider. This voltage is fed into a comparator. The resistors around the comparator define the hysteresis band. This gives us a simple digital out to use later on. Additional circuits such as a Parallel In/ Serial Out Shift Register could be used to tie more than one finger to a given digital pin.

    The hysteresis works like this:

    If the finger voltage rises above a certain threshold, the pin goes low. In order to go high again, it has to drop further. This creates a kind of dead-zone and avoids oscillations if you have a single switch voltage.

  • Concept Art

    Eric Jacob08/20/2014 at 18:19 0 comments

    I have added some concept art. This shows the motions that are being used. There is a nominal position for each finger and virtual buttons to the side. Rotation of the wrist actives modifier keys. This yields 14 keys per had with 3 modes (Normal, Shift, NumPad).

  • Making Flex Resistors

    Eric Jacob08/20/2014 at 17:09 0 comments

    The commercial flexible resistors are very expensive. Making a whole glove out of them was not reasonable. Also, in testing, I was not impressed with their sensitivity. I looking into making my own and found some good resources. I am using this method with some modifications:

    I am using Velostat from adafruit. 3 layers works well. I have substituted the conductive thread for wire-wrapping wire. It is flexible as well and allows me to attach the other end of the wire to a header pin easily (with a wire-wrapping tool). I am also using electrical tape instead of duct tape. I don't think that has any effect.

    I may experiment further with using conductive foils to increase the sensitive area. This design above appears to rely on the wires and layers being pressed together. If the wire is not pressed on, the resistance may not change much. This is not an issue in the glove as I simply situate the wire over the knuckle, but a better version would be appreciated.

  • Keyboard Layout

    Eric Jacob08/20/2014 at 01:47 0 comments

    The initial prototype used f and j for the up and down motion of the right pointer finger. This was simple done as f and j are the first letters in the typing trainer that I use. The layout of the keys will be important. No firm plans have been made, and certainly things will likely change in testing (they always do). The basic idea is to leverage fingers that are more versatile and motions that are most comfortable.

    This image from the Wikipedia Letter Frequency post gives us most of the info that we will need. There are 9 very common letters. Those should be given prominent positions. In addition, the space bar, and backspace are very commonly used buttons.

  • Prototype Complete

    Eric Jacob08/20/2014 at 01:40 0 comments

    I've been working to get a demo of the glove working. I have a finger working well with the initial gestural modifiers. Basically, it works like this: bending of the finger up or down from a nominal position each trigger a key. Twisting the wrist to a vertical orientation activates the shift key, further rotation to a palm up position activates the num-pad. In the future additional commands can be given to left hand orientation.

    This prototype is running into an arduino leonardo as it can act as a USB device. The arm module would be integrated into the glove in the future. Right now, this one finger is working well, showing the overall methodology.

    I am planning to rewire the voltage input from the flex-resistor. Right now it is just running into an analog input, which is not practical for all of the fingers. I will be using comparators with hysteresis to control the logic inputs. More about those in a future post.

  • Initial Hardware

    Eric Jacob08/19/2014 at 17:33 1 comment

    My initial motivation was to build a keyboard for myself. One that allowed you to really focus on the computer. Ideally, the keys would fit to your hand and no eye-hand coordination would be required. Then, you can focus on learning the association of what action does what key (or modifier). This would increase the learning speed and also increase typing rates. Minimizing finger motion will improve speed as well.

    Other improvement ideas:

    The hand should be held in a more natural position, for myself, my hands would prefer to be tilted outwards slightly. The keyboard puts a slight torque on my wrist.

    Split the keyboard into two parts, allowing each arm and hand to rest naturally.

    Integrate mouse functionality so as to remove the time delay and re-orientation between mouse use and keyboard use.

    These ideas lead to the hardware skeleton keyboard. Here is a photo of a concept for a single finger. One advantage of using multiple buttons per finger is that it can reduces repetitive stress disorders.

    The hardware keyboard is neat, but it has some disadvantages. For one, it would have to mold to each users hands. This is really hard. Also, it will be rather expensive as nice buttons are costly. Finally, another motivation is the desire to use a keyboard in a virtual environment. I can see in the near future that we will be able to use a VR headset to have a wrap around computer screen. This would be idea for work that I do, developing physical theories for rocket engine design. I often need many screens with either code, text, or documents that I am creating. In this environment, as I am 'wired in' I would a hardware keyboard would be limiting as I am no longer connected to my surroundings. 

    Furthermore, in VR environments, you would prefer to be able to move around. Then, the idea of a fixed desk or keyboard is outdated.

    This lead to the glove based keyboard. The actual inspiration was from the book 'Ready Player One' as the main character was using his haptic gloves in the VR environment, I saw that as the solution to my keyboard problem. From there is stemmed into other advantages, namely the lack of a physical reference and the simplicity of the design.

    There are some challenges here, as getting enough keys is hard (but do-able). And getting position of the fingers is hard too. I hope that you will see that this idea is functional in the following posts.

View all 6 project logs

  • 1
    Step 1

    I will be adding instructions as the design converges.

View all instructions

Enjoy this project?



Paul_Beaudet wrote 06/01/2015 at 15:08 point

Awesome, you might not want to confuse yourself with Jeff's project though -

Also check-out -

Those are just recent attempts I'm sure you could/have found more. Heck, I even started out doing one of these.

If you need help with this type of project I understand what you are trying to do and have been working toward a similar goal. Board free input devices is a crowded space that could use some more collaboration.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates