Instructable: Keyboard System




Posted in TechnologyComputers

Introduction: Instructable: Keyboard System

About: My name is Ken Campbell. I joined this site because it's one of the coolest ones I've ever seen.

In honor of, this will be a collaboration. My goal is to arrive at a finished design, as a product of the collaboration. Several steps in this instructable are reserved for posting specific ideas, programming logic, flowcharts, or other ideas related to that particular step, which advance the original concept toward completion.

As we already know, this instructable will serve as a record of any development of the seed concept, as it takes place. There are four optional paths to expand upon, within this instructable (Steps 4 thru 7). Each of these optional steps can be developed independently. Each does not need to be analogous to any other. They can be appended on a first come first serve basis.

I am hoping to decide upon what would be considered (by the group) as the most favorable programming method for the finished product. For now, I am asking that the simple requirements presented here are observed.

I have initially supplied these optional steps as clean slates, so that anyone may start from scratch, if they so choose, as long as the specific operational requirements in a particular step are met.

There are no limitations as to how much relative credit any particular contributor would be entitled to.

NOTE: As is the case with any forum, one should avoid editing any post, after a comment or response has been made to it.

Step 1: Keyboard Fundementals

I've added this step to collect information relevant to any and all of the following control options. This is for discussion of hardware/firmware combinations for detecting key presses, switch denouncing options, software development for the alternate layout display, etc.

Keep in mind that it is best if the different control options are easily usable with the remainder of the system. This is to allow easy testing of different options, and provide for the possibility of others adding different control schemes.

This step added by nah.

Step 2: Primary Keyboard Layout

Please take a look at this figure of a new input device for a common PC.

This is the plan view of a primary keyboard layout. Almost all of the keys required for normal English typing are present. Other characters are found on one or more alternate keyboard layouts, which are accessed by a mouse (or other input device).

You might immediately recognize that the letter keys are arranged alphabetically, and broken down into groups that each begin with a vowel. The entire alphabet is within reach of one hand.

This keyboard works in conjunction with a mouse having a middle scroll-wheel button. When the wheel button is pressed, an alternate keyboard layout is displayed on the screen, in front of all other applications. (An example of a screen layout is shown in Step 3.) When this occurs, the alternate character set shown on the screen becomes active. In essence, the wheel button acts as an additional keyboard control character.

(Hereafter, the terms character-set and layout may be used conjunctively.)

In addition to the letter keys, there are the familiar editing keys and keyboard control keys (CTRL, SHFT, ALT). These auxiliary keys are present in this primary layout, as well as all other layouts.

The wheel button is used to instruct the operating system to accept alternate layouts, while using a single keyboard. This keyboard system is designed to configure the English alphabet in an intuitive arrangement, without requiring the user to remove his or her hand from that arrangement to use the mouse (or other input device).

The primary keyboard layout is posted here for reference only. It would not be required as a screen layout.

Step 3: Alternate Keyboard Layout

This is a screen view of an alternate keyboard layout, as it appears when the wheel button is pressed. Note that the normal display is faded to a watermark appearance while the layout is shown transparently over it. One or more characters from the alternate layout may then be generated. (For logistics, see steps 4 thru 7.)

Also note that the screen layout has the same shape as the keyboard itself. If a respective key is pressed on the keyboard while the screen layout is shown, the appropriate alternate character will be generated at the cursor, in the current application.

Once the alternate character set is de-activated (by one of Steps 4 thru 7), the alternate keyboard layout disappears from the screen and the display returns to normal brightness. Typing then continues with the primary keyboard layout.

Naturally, the programming for this functionality would also need to run transparently to every software application, so that all the normal keyboard characters are available within each application.

The following are the four options to be expanded upon and evaluated by this forum. My hope is that one may be selected as most preferable, with respect to ease in programming or integration within common operating systems.

Step 4: Wheel Option A

For an alternate keyboard layout, the wheel button would need to be pressed and held to activate the alternate character set and to display its layout on the screen. One or more alternate characters can be generated while the wheel button is held down. Releasing the wheel button de-activates any alternate layout.

For a third layout, the wheel button would need to be pressed, held, and scrolled one position up. For a fourth layout, the wheel is scrolled one position down, and so on. All of the alternate layouts may be accessed by continually scrolling the wheel button in either direction, as it is held down.

Step 5: Wheel Option B

If the wheel button is pressed and released, an alternate layout is locked in place (toggled) while one or more alternate characters are selected. As this occurs, the characters are generated within the current application as they are entered. Once the wheel button is pressed again (toggled), the alternate layout is de-activated.

To access more than one alternate layout, the wheel button would need to be pressed, then scrolled to a specific layout, and then released.

Step 6: Wheel Option C

An alternate layout appears when the wheel button is pressed. In this mode, the alternate layout is programmed to remain on the screen after the wheel button is released, and until or unless a single character is selected on the actual keyboard. Once a character key is pressed, the layout display disappears automatically, and that alternate character set is thus de-activated.

In this mode, the wheel button would need to be pressed and held, to type more than one character from an alternate keyboard layout.

To access more than one alternate layout, the wheel button would need to be pressed and scrolled to a specific layout. The wheel is then released (for typing a single character) or held (for typing one or more characters).

Step 7: Wheel Option D

In this mode, an alternate layout may be accessed, activated, and locked by simply scrolling the wheel button (without pressing it).

In this mode, the alternate layout is set to disappear and de-activate as soon as one character is generated.

The alternate layout may be locked by pressing the wheel button and holding it, before any character is generated.

It can also be locked by pressing and releasing the wheel button to toggle it, before any character is generated. In this case, the layout would need to be toggled again to de-activate it.

Step 8: Finished Product

First, it is my intent to credit any members who contribute to the end product of this instructable, and grant them a fair share of all rights to any intellectual property resulting from their collaboration.

I am prepared to allow the forum to help in deciding who deserves credit, in terms of a share in the resulting IP rights, and to what percentage. As a rule, the first one to introduce a particular element, by providing a specification, will receive credit for it.

If anyone desires a share based on his/her contribution, all I ask is that they identify themselves by name (and eventually other info), either with this instructable or by private message to me. In fairness to other members, your contribution should be posted at this instructable, to be viewed by the forum, in order to merit legitimate inventorship.

Finally, contributors need not be concerned with acquiring the IP rights, themselves, as that aspect may be considered covered to every practical extent, and already available to them.



    • Spotless Contest

      Spotless Contest
    • Microcontroller Contest

      Microcontroller Contest
    • Space Challenge

      Space Challenge

    We have a be nice policy.
    Please be positive and constructive.




    I think a good idea to add to this is a curved, possibly even rounded hand keyboard so it would be more comfortable

    how about the index finger has vowels, since you need those for every single word, and the index finger seems to be more nimble. also i do not like all of those smaller keys stuck on the bottom of the thumb, that part of the thumb can't possibly push those small buttons, as far as i know

    14 replies

    Hey, thanks for the input, Voxel. You have a good thought with the vowels. With those other keys below the thumb, they're just control keys. And, let's face it, everyone has to look down at the keyboard, and change their "home row" positioning, for most other keys except the letter and number (and ,.) keys, right?

    Uh, no. As touch typist, I don't have to look down to find the Insert, Home, Page Up, Delete, End, Page Down, Ctrl, Alt, and arrow keys. So no, I don't look down at the key board a lot.

    C'mon, let's be realistic, now...we all know that the average person will never hit any of those keys on a standard keyboard without looking (except maybe the CTRL). That's hundreds of millions of us.

    Woo hoo! I am unique! According to Scrupulous, I am the last of a dying breed: The touch typist!

    Yaaaayyyyyyyyyyy! (I still don't know what a touch typist is...)

    Wait. You are designing a new keyboard and you don't know what a touch typist is?

    "Unless you learn to type faster without looking at the keyboard or at you hands then you are the most inefficient part of your computer system and are wasting part of your life." (Emphasis mine.)

    Have you ever had a lesson in typing? Have you ever noticed the little bumps under your index fingers when they are sitting on their home keys? Do you know what the home keys are?

    If you are using a qwerty keyboard, you home keys for the left had are "A-S-D-F' and for your right hand they are "J-K-L-;". Qwerty keyboards generally have bumps on the "F" and the "J" key. They are there so that your sensitive index fingertips can find their home keys.

    Take some online lessons. Improve your typing skills.

    Noticed 'em??! Heck, that's were I've been placing my PINKIES all along! Maybe that explains why I type so slowwwwww.

    But, all "F'n'J"ing aside...I think the majority of us rely on those special keys, we just don't take as much pride in it. I've thought for a while, though notwithstanding pricing concerns, that every key should be "texturized" in some unique and readily identifiable way...hence, Raised Letter Keys:

    P.S. have you ever noticed that "werf-jiop" would be a more ergonomically-correct home row?

    raised_letter_key.jpg this layout works much better, but I don't want to spend time learning it.

    That would be a great idea, but there is a problem here. Feeling requires some form of feeling, for example consider braille. Because the letter is a concept as a picture not a feel, it's completely a different thing and also requires having your mind remember it, and a letter isn't exactly the best texture, something similar to braille would be, but how many people would be using this that know braille? :P

    Actually, I do the same thing. Most touch-typists can reach for ANY key on the keyboard without a problem. I personally reach for every key, without looking and relocate without looking. Perhaps from years of playing MMORPGs that frequently use these keys, but that aside, the true touch typist doesn't look at all.

    OK, I admit that I sometimes (er, frequently) hit the wrong non-alpha-numeric keys, but I can hit the Backspace key easily still without looking. It is odd, though, that the lettering on my s-d-c keys are the ones wearing off, not my Backspace key. :-)

    I guess perhaps the best thing about this keyboard would be that you would never HAVE to reposition because it would be so familiar of a stance (your actual hands layout!)

    THAT, my friend, is possibly the c-r-u-x crux of this project...

    How about the vowels on the index finger, and the rest arranged alphabetically on the remaining outer digits. That would give the alternating finger action for almost every word. I starting to shy away from the thumb being used for letters. There was some sense to that with the standard qwerty. Though, I believe the thumb is still highly under-utilized, now.

    This looks like a good idea, but it looks like one would frequently mistype, whereas I can type one handed very easily(I used it to type this post).

    awesome sweet radical too cool 50 STARS******************** bingo should be called boing

    1 reply

    Actually, that's only 21 stars.  Late reply i know, but i couldn't resist.