Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.


Ideas for quick-click button device

Ideas for quick-click button device

I'm currently working on an idea for a very small device (approx 2mm^3). The goal is to make something that would go between something like a keyboard and the rubber padding that makes contact with the keyboard's motherboard. The purpose of the device is to "quick click" a button on the keyboard. In other words, it will click and unclick the button no matter how long the button is held. So once the button is pressed, the device will automatically retract and even if the button is still held the device will have unclicked and won't click again until the next time the button is pressed. Ideally, the device will execute this incredibly fast and the button won't make contact for longer than 1/30 of a second.

I've been working with different designs that resemble a pen's mechanism but can't think of a way to implement it in such a way that it retracts even when it's held.

Long story short, I'm at a standstill and any ideas would be greatly appreciated!

RE: Ideas for quick-click button device

Sounds like a hardware solution for a software problem.

RE: Ideas for quick-click button device

Keyboards typically have debouncing logic, which used to be in discrete ICs, and is now just a few lines of code in the keyboard microcontroller's firmware.

Your device might be better implemented as a change in the keyboard firmware, or a 'man in the middle' dongle between the keyboard and its host. Said dongle would, e.g., wait 1/30 second after the 'key pressed' event for a certain key, and automatically send the corresponding 'key released' event, without waiting for the real one to come down the wire.

Of course, it's also possible, at least for a PC host, to do it entirely within the host, just with software.

Mike Halloran
Pembroke Pines, FL, USA

RE: Ideas for quick-click button device

Thanks for your responses!

You're absolutely right! There are probably multiple software solutions for this conundrum. The dongle idea is good simple software solution. I actually have come up with a more complicated microcomputer resolution involving an attiny85 and an arduino to program into the keyboard what is needed.
But at any rate I'm attempting at making something mechanical that could solve this same issue. Once my design is solid I'll probably end up finding a way to 3D print it to smaller scale.

But for now, back to the drawing board.

RE: Ideas for quick-click button device

The standard keyboard driver already does this, essentially. If you hold any key down longer than the duration set in the Control Panel for Keyboard, the driver will automatically generate key presses and releases, whose timings are set in the Control Panel Applet. A single pulse should be easy to do, given that.

The hardware approach described in the OP is extremely challenging to implement using a DIY solution, since you only about 3/16th inch full-stroke travel for a key to start with. Windows used to have a driver development kit (DDK) that could be used for this.

Sourceforge contains a few keyboard driver projects:

TTFN (ta ta for now)
I can do absolutely anything. I'm an expert!
FAQ731-376: Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list

RE: Ideas for quick-click button device

IRstuff the keyboard was mainly meant as an illustration. If we use something else much more simple like a tv remote as an example then we're looking at something with much less computing power.
And however difficult it may present itself to be, you can do absolutely anything. You're an expert!

Is there any device like this already in existence?

RE: Ideas for quick-click button device

TV remotes also do debounce.
For hardware, you might look at finger-prick needles like for getting a small blood sample? I'm not sure if their mechanism is reusable at all, but I believe they stab and retract very fast.

-handleman, CSWP (The new, easy test)

RE: Ideas for quick-click button device

No one, as far as I know, does it that way. Even the lowly TV remote has sufficient horsepower to debounce, which means it has enough horsepower to do software single-shots. Note that your keyboard does the debouncing with the puny 8-bit processor housed therein.

Your concept does not absolve you of debouncing, and with such a short duration, it's likely to be plagued by issues from interacting with a proper debounce.

TTFN (ta ta for now)
I can do absolutely anything. I'm an expert!
FAQ731-376: Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list

RE: Ideas for quick-click button device

Debounce can also be done without a microprocessor, though I think the price of 16 bit micros, which exceed what one needs for a remote, is under 50 cents in small quantities, much less in larger ones and even less than that for dies epoxied to circuit boards in mass production. The software debounce will also be available to each switch and not require custom hardware repeated for each switch.

Mechanical debounce is nearly impossible. See EEVblog #961 - Monkey Debouncing at

For mechanical inspiration you could look at the count-up/count-down decade switches that move a wheel on each press, don't autorepeat, and don't trigger on release. They have a spring and a cam-path.

Draw a graph of the contact vs desired signal and note that the signal does not have to occur at the maximum travel.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close