Xref: utzoo comp.os.msdos.programmer:2093 comp.os.msdos.misc:644 comp.os.msdos.apps:664 Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!rutgers!cmcl2!yale!cs.utexas.edu!usc!samsung!noose.ecn.purdue.edu!mentor.cc.purdue.edu!j.cc.purdue.edu!brazil.psych.purdue.edu!zhou From: zhou@brazil.psych.purdue.edu (Albert Zhou) Newsgroups: comp.os.msdos.programmer,comp.os.msdos.misc,comp.os.msdos.apps Subject: Re: Keystroke Software Program Keywords: Sequential Keystroke Macros Message-ID: <11550@j.cc.purdue.edu> Date: 23 Nov 90 15:14:07 GMT References: <126@metapyr.UUCP> Sender: news@j.cc.purdue.edu Reply-To: zhou@brazil.psych.purdue.edu (Albert Zhou) Followup-To: comp.os.msdos.programmer Distribution: na Organization: Purdue University Lines: 44 In article <126@metapyr.UUCP> brent@metapyr.UUCP (Brent Layne Robertson I) writes: >Does anyone know of software or a bbs with software that allows a user >to type combined keystrokes in a sequential order ie: > > rather than type " c" > > type "" then type "c" > >This is for an aquaintance who is unable to type combonations of >keys in a multi-key environment. I haven't seen one. But you can do it by installing a clock interrupt capturing the flags for Shift, Ctrl, Alt etc, and writing a new Int 10. This will required the user to hold Ctrl (or whatever) key for certain length of time. In order not to slow down the system, Set your clock interrupt at, see 2 second or longer, which means you have to hold Ctrl key for at least 2 seconds to allow the interrupt to capture it before your finger move on to another key. Here is the pseudo code: Program seq_keystroke; Get clock interrupt vector Vec1 Get keyboard interrupt vector Vec2 Set clock interrupt to proc myclock_int Set keyboard interrupt to proc mykey_int Terminate and Stay endprogram Proc myclock_int; At every other 2 seconds do Check Ctrl, Alt, Shift, Capt if they are pressed, set their flag on else set their flag off enddo Call interrupt at Vec1 endproc Proc mykey_int; If any flag for Ctrl, Alt, Ship or Capt is on then Modify the last keystroke in the keyboard buffer Call interrupt at Vec2 endproc The limitation of this scheme is that it can not recognize such keystrokes when there are other keystrokes piled up in the keyboard buffer. But it is OK I guess for most applications.