Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Ideas for quick-click button device 1

Status
Not open for further replies.

ButsAndNolts

Specifier/Regulator
Apr 5, 2017
3
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!
 
Replies continue below

Recommended for you

Sounds like a hardware solution for a software problem.
 
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
 
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.
 
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 forum1529 Entire Forum list
 
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?
 
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)
 
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 forum1529 Entire Forum list
 
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.
 
Maybe look at spring center punches?

Though on second thoughts I'm not sure that's quite right.

Posting guidelines faq731-376 (probably not aimed specifically at you)
What is Engineering anyway: faq1088-1484
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor