Hi, thank you for submitting your question to Answers.Google, I hope I
can provide the information you are seeking.
Physical solution
The Tricor Model 911 is an automated keyboard/membrane input testing
device which appears to meet your needs exactly.
http://www.tricor-systems.com/products/spec/prod911.htm
These are the basic specs:
Test keyboards, keypads, membranes, etc.
Test rates can exceed 2 keys per second
Test configurations are user-programmable
Large test area
High Reliability Construction
Adjustable Actuation Force
Although this is a device designed to test and record keyboard
responses, it appears to be perfectly capable of performing your
tests, simply ignore the features you don?t need.
Software solution
You can also have a programmer produce a relatively small program
which should meet your needs by simulating keyboard input. I can?t
provide any further help on this because you haven?t given any system
details.
For information on simulating keyboard input on a Windows system see:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/aboutkeyboardinput.asp
Since you are using Windows then the MSDN (Microsoft Developer
Network) information is probably exactly what you need.
Remember, under the accessibilities options you can pull up an
onscreen keyboard which fully simulates standard keyboard input.
See the keybd_event function for more information:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/keybd_event.asp
?Syntax
VOID keybd_event(
BYTE bVk,
BYTE bScan,
DWORD dwFlags,
PTR dwExtraInfo
);
Parameters
bVk
[in] Specifies a virtual-key code. The code must be a value in the
range 1 to 254. For a complete list, see Virtual-Key Codes.
bScan
This parameter is not used.
dwFlags
[in] Specifies various aspects of function operation. This parameter
can be one or more of the following values.
KEYEVENTF_EXTENDEDKEY
If specified, the scan code was preceded by a prefix byte having the
value 0xE0 (224).
KEYEVENTF_KEYUP
If specified, the key is being released. If not specified, the key is
being depressed.
dwExtraInfo
[in] Specifies an additional value associated with the key stroke.?
Also see:
http://mail.gnome.org/archives/gtk-app-devel-list/2004-February/msg00539.html
Google search term: automatic keyboard depress
also
Google search term: freeware keyboard input simulator
Thank you again for turning to Answers.Google for help. |
Clarification of Answer by
siliconsamurai-ga
on
15 Feb 2005 05:10 PST
Well, you didn't specify price and what you are asking is essentially
another question for the same price.
There is freeware and other code which might do exactly what you want,
but which one would be best or would even work depends on a lot of
technical details about your program, your hardware, and exactly which
operating system you are using.
You can probably find something which might be adapted at
www.tucows.com or www.shareware.com (in the interests of full
disclosure, I do a lot of contract work for CNET but have absolutely
no connection with the shareware site.)
In dealing with software you need to be very careful not to introduce
some variable you aren't aware of so a mechanical solution would be
best. Otherwise you could end up with test results which are actually
meaningless because of some interaction between various pieces of code
in the system.
I still don't know what sort of budget you are working with but any
decent tinkerer should be able to produce a simple cam and motor
mechanism which would cause a weighted lever to strike the particular
key.
You essentially want a simple trip hammer which is a very old tool
design. The main problem would be raising the end quickly enough that
you don't generate a repeat signal but you can adjust keyboard
response in software.
I have no way to present a design in a plain-text format but I know I
could tinker one together in an hour or so and if you are at or near a
university you should be able to hire an engineering student to do
something similar for a very reasonable price. Speed can be varied
with a simple power control you can buy at a hardware store and the
shape of the cam would determine the way the key is depressed.
I doubt anyone actually sells such a device commercially because it
would not be economical and would be too crude to perform actuall
keyboard testing. Since that isn't your goal, if I were doing this and
didn't want to build it myself I would simply contact a local school
or even post a note in an engineering department bulletin board.
On a more commercial note there are machine shops and engineering
prototype businesses almost everywhere - your main problem will be
convincing them that you really want a quite crude device - they are
likely to over engineer any design.
In the same vein, a number of small companies design and build
specialty computer devices for the disabled but I don't know of any
which does exactly this and the cost of designing and building such a
device would be quite high compared to just finding a local student to
do it.
I hope you consider this a reasonable question based on the rather
limited amount of information you provided (e.g. there are a lot of
different versions of Windows, wired and wireless keyboards, PS2
keyboards, USB keyboards, etc.) and the actual question, which was
"I'd like some direction on how to solve this problem."
Again, thank you for turning to Google.Answers.
|