home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / kbstuf.zip / KBSTUFF.TXT < prev    next >
Text File  |  1993-08-22  |  38KB  |  1,509 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                                      KbStuffer
  18.                                 
  19.                                     Version 1.0
  20.                                 
  21.                                 
  22.                        Copyright 1993, William L. Moussiaux
  23.                                 All Rights Reserved
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                                 
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46. Published by:
  47.  
  48. William L. Moussiaux
  49. 1839 LawnView Drive
  50. Frederick, Maryland 21702
  51.  
  52.  
  53. Fax   (301) 662-3909
  54. CompuServe Id  72623,3533
  55.  
  56.  
  57.  
  58.  
  59.  
  60.                               Table of Contents
  61.  
  62.    Table of Contents....................................................2
  63.    Introduction.........................................................3
  64.    License Agreement and Warranty Disclaimer............................4
  65.    Definition of Shareware..............................................6
  66.    Registration Information.............................................7
  67.         Full Registration...............................................7
  68.         Lite Registration...............................................7
  69.         Site Registration...............................................7
  70.    Parameters for KbStuffer.............................................8
  71.         Summary of Parameters...........................................8
  72.         /?- Display Help................................................8
  73.         /D# - Change Monitor Read/Write Delay...........................8
  74.         /L - Log Messages...............................................8
  75.         /M# - Change Shared Memory Size.................................8
  76.         /NC - Turn Colors Off...........................................9
  77.         /P# - Change Printer Port.......................................9
  78.         /S# - Change Scan Code Set......................................9
  79.         /X - Display Extra Messages.....................................9
  80.    Main Screen.........................................................10
  81.    Help Menu...........................................................11
  82.         [B]ug Report...................................................11
  83.         [C]ontrol Key List.............................................11
  84.         [M]emory Information...........................................11
  85.         [P]arameters...................................................12
  86.         [R]egister.....................................................12
  87.         [S]yntax Help..................................................12
  88.         [T]urn Options On/Off..........................................13
  89.              [C]olors..................................................13
  90.              [E]xtra Information Displayed.............................13
  91.              [L]og All Messages To Disk................................13
  92.              [P]rinter Port............................................14
  93.              [Q]uit On/Off Menu........................................14
  94.         [Q]uit Help Menu...............................................14
  95.    Sending Data to KbStuffer...........................................15
  96.         Using Stuffer.exe..............................................15
  97.              Stuffing data to another OS/2 Session.....................15
  98.    Control Codes.......................................................16
  99.         Multiple Keys..................................................16
  100.         Special Case Control Codes.....................................17
  101.              Summary...................................................17
  102.              WT# - Wait for # Milliseconds.............................17
  103.              WK# - Wait Between all Keystrokes.........................17
  104.              QU - Quit KbStuffer Program...............................17
  105.              QE - Quit KbStuffer Program and EXIT......................17
  106.              AE - ALT and ESC Key Sequence.............................18
  107.              CE - CTRL and ESC Key Sequence............................18
  108.              CM - Close Monitors.......................................18
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.                                     Page 1
  119.    Scan Codes..........................................................19
  120.    Using Shared Memory and System Semaphores...........................20
  121.         To send keystroke data to KbStuffer............................20
  122.         To attach to shared memory.....................................20
  123.         To place data into KbStuffer's shared memory...................20
  124.    Appendix A - Control Key Codes......................................21
  125.    Appendix B - Scan Code Numbers......................................22
  126.    Appendix C - Known Problems With KbStuffer..........................23
  127.    Appendix D - Shared Memory and Semaphores...........................24
  128.    Appendix E - Future Releases........................................25
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.                                     Page 2
  175. Introduction
  176.  
  177. KbStuffer is an OS/2 Full Screen Keyboard Buffer Stuffer. Keystroke data can
  178. be stuffed into the current OS/2 Session's keyboard buffer, or any other
  179. currently running OS/2 Full Screen Session.
  180.  
  181. Keystroke data can be placed into the keyboard buffer:
  182.    *   By using the supplied program, Stuffer.exe.
  183.    *   By tapping into KbStuffer through shared memory and system semaphores.
  184.  
  185. To start KbStuffer, type KbStuff [ENTER] at an OS/2 Full Screen or OS/2
  186. Windowed Prompt.
  187.  
  188. KbStuffer will not stuff data to an OS/2 Windowed Session, DOS Session or a
  189. PM application.
  190.  
  191. The registered version of KbStuffer may be detached. If running KbStuffer in
  192. detached mode, using the /L option is recommended to create a log file of any
  193. messages generated by KbStuffer.
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.                                     Page 3
  233. License Agreement and Warranty Disclaimer
  234.  
  235. Please read the following terms and conditions. Use of this software
  236. constitutes your acceptance of these terms and conditions, and your agreement
  237. to abide by them. If you do not agree with them, do not use the software.
  238.  
  239. You are hereby licensed to use the Shareware Version of KbStuffer for a 30 day
  240. evaluation period. Please make as many copies of the Shareware Version of this
  241. software and documentation as you wish. Give exact copies of the original
  242. Shareware Version to anyone and distribute the Shareware Version of KbStuffer
  243. and documentation in its unmodified form via electronic means. There is no
  244. charge of any of the above.
  245.  
  246. You are specifically prohibited from charging, or requesting donations, for
  247. any copies, however made, and from distributing the software and/or
  248. documentation with other products (commercial or otherwise) without prior
  249. written permission, with one exception:
  250.    Disk Vendors approved by the Association of Shareware professionals (ASP)
  251.    are permitted to redistribute KbStuffer, subject to the conditions in this
  252.    license, without specific written permission.
  253.  
  254. This software is covered by United Stated Copyright law and international
  255. treaty conventions. For the Registration price you are granted a license to
  256. use the product subject to the following terms and conditions:
  257.  
  258. 1.  The registered version of KbStuffer will only be used by a single person
  259.     who uses the software on one or more computers or to a single workstation
  260.     used by multiple people.
  261.  
  262. 2.  A separate "site license" and fee is required if the registered version of
  263.     KbStuffer is to be run on more then one machine by more than one person.
  264.     Accessing the registered version of KbStuffer through a Local Area Network
  265.     (or similar artifact) by multiple people on multiple machines, also
  266.     requires a "site license".
  267.  
  268. 3.  The programs and other files contained with the registered version of
  269.     KbStuffer may not be duplicated or copied except for archival purposes,
  270.     installation on the operational machines as outlined above, or to replace
  271.     defective media.
  272.  
  273. 4.  Any copies must bear the copyright notices contained in the original
  274.     product.
  275.  
  276. 5.  No copies of the registered version of KbStuffer may be produced for sale
  277.     to third parties or for any purpose other than given above. The registered
  278.     version of KbStuffer software may not be placed on any bulletin board or
  279.     other electronic systems where others can download the software program.
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.                                     Page 4
  291. 6.  This license may be transferred to a third party, provided the third party
  292.     agrees to all the terms of this licensing agreement, and all copies are
  293.     transferred to the new licensee or destroyed by the original licensee. We
  294.     reserve the right to assess a small charge to process the change in
  295.     registration.
  296.  
  297. 7.  Registering of KbStuffer does not transfer any right, title, or interest in
  298.     KbStuffer or the associated programs, except as specifically set forth in
  299.     this agreement.
  300.  
  301. 8.  This Agreement shall be construed and enforced in accordance with the laws
  302.     of the state of Maryland. Any action taken by either party relating to this
  303.     agreement shall be brought only in a State or Federal Court in
  304.     Frederick, Maryland.
  305.  
  306. 9.  If any provision of this Agreement is found to be invalid, or unenforceable,
  307.     it will not affect the validity of the balance of the Agreement.
  308.  
  309. 10. This software is provided "as is" without any warranty of any kind. The
  310.     entire risk is assumed by the purchaser. Under no circumstances shall the
  311.     licenser be held liable for more than the purchase price of the product.
  312.     If the media proves defective it will be replaced.
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.                                     Page 5
  349. Definition of Shareware
  350.  
  351. Shareware distribution gives users a chance to try software before buying it.
  352. If you try a Shareware program and continue using it, you are expected to
  353. register. Individual programs differ on details -- some request registration
  354. while others require it, some specify a maximum trial period. With
  355. registration, you get anything from the simple right to continue using the
  356. software to an updated program with printed manual.
  357.  
  358. Copyright laws apply to both Shareware and Commercial Software, and the
  359. copyright holder retains all rights, with a few specific exceptions as stated
  360. below. Shareware authors are accomplished programmers, just like commercial
  361. authors, and the programs are of comparable quality. (In both cases, there are
  362. good programs and bad ones.) The main difference is in the method of
  363. distribution. The author specifically grants the right to copy and distribute
  364. the software, either to all and sundry or to a specific group. For example,
  365. some authors require written permission before a commercial disk vendor may
  366. copy their Shareware.
  367.  
  368. Shareware is a distribution method, not a type of software. You should find
  369. software that suits your needs and pocketbook, whether it's Commercial or
  370. Shareware. The Shareware system makes fitting your needs easier, because you
  371. can try before you buy. And because the overhead is low, prices are low also.
  372. Shareware has the ultimate money-back guarantee -- if you don't use the
  373. product, you don't pay for it.
  374.  
  375.  
  376. You are encouraged to pass a copy of the unregistered version of KbStuffer
  377. along to your friends for evaluation. Please encourage them to register their
  378. copy if they find that they can use it.
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.                                     Page 6
  407. Registration Information
  408.  
  409. KbStuffer is Shareware. You are allowed to try KbStuffer for a period not to
  410. exceed 30 days. After such time if you decided you like KbStuffer, you must
  411. register your copy. KbStuffer registration comes in three different forms.
  412. Please see the file Register.frm for a complete list of registration prices.
  413.  
  414.  
  415. Full Registration
  416.  
  417. A full registration of KbStuffer is available for fifty dollars ($50) in
  418. U.S.A. Funds. For the registration price you will receive:
  419. 1.  A disk containing the latest registered version of KbStuffer. This
  420.     registered version does not contain any Shareware Registration information.
  421.     Therefore the registered version of KbStuffer will be somewhat smaller
  422.     and faster.
  423. 2.  A printed users manual for KbStuffer.
  424. 3.  Free updates of KbStuffer for one year from date of registration.
  425. 4.  Free technical support by phone, fax, mail and CompuServe.
  426.  
  427.  
  428. Lite Registration
  429.  
  430. A lite registration of KbStuffer is also available for thirty dollars ($30) in
  431. U.S.A. Funds. For the registration price you will receive:
  432. 1.  A registration code to register your copy of KbStuffer using Register.exe.
  433. 2.  Update notifications of KbStuffer for one year from date of registration.
  434.     The update notification will inform you that a new version of KbStuffer is
  435.     available and where it may be found. Along with the update notification,
  436.     you will receive a new registration code for the new version of KbStuffer.
  437. 3.  Free technical support by phone, fax, mail and CompuServe.
  438.  
  439.  
  440. Site Registration
  441.  
  442. If KbStuffer is to be utilized on more than one machine by more than one person
  443. or accessed on a Local Area Network (or similar artifact) by multiple people on
  444. multiple machines, a "site license" is required.
  445.  
  446. Please see the file Register.frm for pricing on "site licensing" for KbStuffer.
  447.  
  448. For a site registration of KbStuffer you will receive:
  449. 1.  A disk containing the latest version of KbStuffer.
  450. 2.  A printed users manual for KbStuffer (Extra program disks and manuals are
  451.     available).
  452. 3.  Free updates of KbStuffer for one year from date of registration.
  453. 4.  Free technical support by phone, fax, mail and CompuServe.
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                                     Page 7
  465. Parameters for KbStuffer
  466.  
  467. All command line parameters for KbStuffer are case insensitive. Either a
  468. forward slash '/' or a minus sign '-' can be used for all parameters
  469. (Ex. /? or -?)
  470.  
  471.  
  472. Summary of Parameters
  473.  
  474.        /?  - Display Help
  475.        /D# - Change Monitor Read/Write Delay
  476.        /L  - Log All Message To Disk
  477.        /M# - Change Shared Memory Size
  478.        /NC - Turn Colors Off
  479.        /P# - Change Printer Port (LPT1 thru LPT3 or disk)
  480.        /S# - Change Scan Code Set (1 thru 3)
  481.        /X  - Display Extra Messages
  482.  
  483.  
  484. /? - Display Help
  485. Syntax - KbStuff /?
  486. Default - N/A
  487.  
  488. Activates KbStuffer's on-line help system.
  489.  
  490.  
  491. /D# - Change Monitor Read/Write Delay
  492. Syntax - KbStuff /D20
  493. Default - 10 Milliseconds
  494.  
  495. If keystroke data placements are too slow, decrease this setting. To fine tune
  496. system performance, increase this setting to free more processing time.
  497.  
  498.  
  499. /L - Log Messages
  500. Syntax - KbStuff /L
  501. Default - Off
  502.  
  503. To keep a log of all messages (Warning, Error and Debugging), turn this option
  504. on. All messages are saved to the file KbStuff.log in the current working
  505. directory. All messages are still displayed on the screen. This is a useful
  506. option for debugging or when KbStuffer has been run in the detached mode.
  507.  
  508.  
  509. /M# - Change Shared Memory Size
  510. Syntax - KbStuff /M1024
  511. Default - 4096 Bytes
  512.  
  513. KbStuffer receives keystrokes data in shared memory. The size of this shared
  514. memory can be changed to a larger, or smaller size to suit various needs.
  515. It is recommend to change the shared memory in 16 byte increments.
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.                                     Page 8
  523. /NC - Turn Colors Off
  524. Syntax - KbStuff /NC
  525. Default - On
  526.  
  527. Messages are displayed using various colors to highlight Error and Warning
  528. messages. Setting the No Color Option will force all messages to be displayed
  529. in the standard white on black display.
  530.  
  531.  
  532. /P# - Change Printer Port
  533. Syntax - KbStuff /P2
  534. Default - LPT1
  535.  
  536. Temporarily changes the printer port KbStuffer uses.
  537. Valid entries are:
  538.        /P1 - LPT1
  539.        /P2 - LPT2
  540.        /P3 - LPT3
  541.        /P4 - Redirects all information to the ASCII text file KbStuff.ptr
  542.  
  543.  
  544. /S# - Change Scan Code Set
  545. Syntax - KbStuff /S3
  546. Default - Scan Code Set 1
  547.  
  548. If passed keystrokes are displayed as different characters or not at all, try
  549. selecting one of the other Scan Code Sets.
  550. Note: KbStuffer only supports the English Keyboard Character Set. If requests
  551. are made for other languages, they will be incorporated into future releases
  552. of KbStuffer.
  553.  
  554. Valid entries are:
  555.        /S1 - Use Scan Code Set 1 (Default)
  556.        /S2 - Use Scan Code Set 2
  557.        /S3 - Use Scan Code Set 3
  558.  
  559.  
  560. /X - Display Extra Messages
  561. Syntax - KbStuff /X
  562. Default - Off
  563.  
  564. When this option is set, extra information is displayed on the screen about
  565. the current execution of KbStuffer. These messages contain information such as
  566. which data was received from Shared Memory and the keystroke currently being
  567. stuffed into a Keyboard Buffer.
  568. These messages are quite useful when debugging passed keystroke information.
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.                                     Page 9
  581. Main Screen
  582.  
  583. Upon running the unregistered version of KbStuffer, the Main Screen will be
  584. displayed along with one or several registration messages.
  585. To continue, press the dollar sign '$' key. The registered version of KbStuffer
  586. does not display these registration messages.
  587.  
  588. \----------------------------------------------------------------------------/
  589. | KbStuffer - Version 1.0 August 1993                                        |
  590. |             Copyright 1993, William L. Moussiaux  All Rights Reserved      |
  591. | Press [?] For Help, [Q] to Quit KbStuffer                                  |
  592. |                                                                            |
  593. |                                                                            |
  594. | The theoretical foundation of how Shareware works is twofold:              |
  595. |                                                                            |
  596. | First, the assumption is made that most people prefer to be honest, and    |
  597. | that if they are trusted, they will honor that trust.                      |
  598. |                                                                            |
  599. | The second part of the foundation is that, as copyright holder, the        |
  600. | author may voluntarily suspend some of his rights for a limited period     |
  601. | of time. After the specified time period, someone who continues to use     |
  602. | the software is in violation of domestic and international copyright laws. |
  603. |                                                                            |
  604. |                                                                            |
  605. | Press [$] To Continue                                                      |
  606. /----------------------------------------------------------------------------\
  607.  
  608.  
  609. KbStuffer's Main Screen displays various messages (Error, Warning and
  610. Informative). These messages are displayed in different colors depending on
  611. the message type and are scrolled within the Main Screen.
  612.  
  613. \----------------------------------------------------------------------------/
  614. | KbStuffer - Version 1.0 August 1993                                        |
  615. |             Copyright 1993, William L. Moussiaux  All Rights Reserved      |
  616. | Press [?] For Help, [Q] to Quit KbStuffer                                  |
  617. |                                                                            |
  618. | Using Option - Display Extra Information                                   |
  619. | Using Option - Log All Messages To KbStuff.log                             |
  620. | Shared Memory Size 4096 Bytes                                              |
  621. | Got [6] [3] [[XX]] From Shared Memory                                      |
  622. | Thread[0] Doing Control Character [XX]                                     |
  623. | Warning - Thread[0] Passed Invalid Control Code [XX]                       |
  624. |                                                                            |
  625. |                                                                            |
  626. |                                                                            |
  627. |                                                                            |
  628. |                                                                            |
  629. |                                                                            |
  630. |                                                                            |
  631. /----------------------------------------------------------------------------\
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.                                     Page 10
  639. Help Menu
  640.  
  641. KbStuffer's Help System may be activated by pressing '?' from the Main Screen.
  642. Options available from the Help Menu are:
  643.  
  644. \----------------------------------------------------------------------------/
  645. | KbStuffer - Version 1.0 August 1993                                        |
  646. |             Copyright 1993, William L. Moussiaux  All Rights Reserved      |
  647. | Press [?] For Help, [Q] to Quit KbStuffer                                  |
  648. |                                                                            |
  649. |                              Select Help Option                            |
  650. |                                                                            |
  651. |                              [B]ug/Comments Form                           |
  652. |                              [C]ontrol Key List                            |
  653. |                              [M]emory Information                          |
  654. |                              [P]arameters                                  |
  655. |                              [R]egister                                    |
  656. |                              [S]yntax Help                                 |
  657. |                              [T]urn Options On/Off                         |
  658. |                              [Q]uit Help Menu                              |
  659. |                                                                            |
  660. |                                                                            |
  661. |                                                                            |
  662. /----------------------------------------------------------------------------\
  663.  
  664.  
  665. [B]ug/Comments Form
  666.  
  667. To simplify correspondence regarding comments or bugs with KbStuffer, a
  668. pre-generated form is supplied. This form may be viewed and/or printed at
  669. this Help Option.
  670.  
  671.  
  672. [C]ontrol Key List
  673.  
  674. Displays a list of valid Control Codes for use with KbStuffer. The list may be
  675. viewed and/or printed at this Help Option.
  676.  
  677.  
  678. [M]emory Information
  679.  
  680. This option displays and optionally prints the system semaphores and shared
  681. memory used by KbStuffer.
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.                                     Page 11
  697. [P]arameters
  698.  
  699. Displays and optionally prints a list of valid command line parameters for
  700. KbStuffer.
  701.  
  702.  
  703. [R]egister
  704.  
  705. Displays information on registering KbStuffer. This form may be viewed and/or
  706. printed.
  707.  
  708.  
  709. [S]yntax Help
  710.  
  711. Lists and/or prints examples of passing keystroke data to KbStuffer.
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.                                     Page 12
  755. [T]urn Options On/Off
  756.  
  757. This option displays a menu listing several options that may be
  758. turn on or off at anytime along with there current state.
  759.  
  760.  
  761. \----------------------------------------------------------------------------/
  762. | KbStuffer - Version 1.0 August 1993                                        |
  763. |             Copyright 1993, William L. Moussiaux  All Rights Reserved      |
  764. | Press [?] For Help, [Q] to Quit KbStuffer                                  |
  765. |                                                                            |
  766. |                           Run Time Options                                 |
  767. |                                                                            |
  768. |                   [C]olors                        On                       |
  769. |                   [E]xtra Information Displayed   Off                      |
  770. |                   [L]og All Messages To Disk      Off                      |
  771. |                   [P]rinter Port                  LPT1                     |
  772. |                   [Q]uit On/Off Menu                                       |
  773. |                                                                            |
  774. |                                                                            |
  775. |                                                                            |
  776. |                                                                            |
  777. |                                                                            |
  778. |                                                                            |
  779. /----------------------------------------------------------------------------\
  780.  
  781.  
  782.    [C]olors
  783.  
  784.    Default - On
  785.  
  786.    Turn color messages on or off.
  787.  
  788.  
  789.    [E]xtra Information Displayed
  790.  
  791.    Default - Off
  792.  
  793.    Turn on or off the displaying of extra information about the current
  794.    operation of KbStuffer.
  795.  
  796.  
  797.    [L]og All Messages To Disk
  798.  
  799.    Default - Off
  800.  
  801.    Toggle on or off the logging of messages produced by KbStuffer to disk.
  802.    Note: Message are save in the current directory in the file KbStuffer.log.
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.                                     Page 13
  813.    [P]rinter Port
  814.  
  815.    Default - LPT1
  816.  
  817.    Temporarily changes the printer port KbStuffer uses.
  818.    Valid entries are:
  819.           /P1 - LPT1
  820.           /P2 - LPT2
  821.           /P3 - LPT3
  822.           /P4 - Redirects all information to the ASCII text file KbStuff.ptr.
  823.  
  824.  
  825.    [Q]uit On/Off Menu
  826.  
  827.    Return to KbStuffer's Help Menu
  828.   
  829.  
  830. [Q]uit Help Menu
  831.  
  832. Exits the Help Menu and returns to KbStuffer's Main Screen.
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.                                     Page 14
  871. Sending Data to KbStuffer
  872.  
  873. Using Stuffer.exe
  874. To stuff alpha-numerical keys into a keyboard buffer, enter the desired keys
  875. on the command line.
  876.  
  877. Example:
  878.    Stuffer dir                         <--- Output  dir
  879.    Stuffer abcd1234                    <--- Output  abcd1234
  880.  
  881.  
  882. None alpha-numerical keys such as ENTER, ALT, CTRL and SHIFT are considered
  883. Control Keys (See Appendix A). To stuff a Control Key into the keyboard
  884. buffer, enter the Control Key Code surrounded by square brackets '[ ]'.
  885.  
  886. Example:
  887.    Stuffer [ET]                        <--- Output  ENTER Key
  888.    Stuffer [SB]                        <--- Output  SPACE BAR
  889.  
  890. Examples of Alpha-Numerical keys and Control Keys:
  891.    Stuffer dir[ET]                     <--- Output  dir ENTER
  892.    Stuffer This[SB]Is[SB]A[SB]Test     <--- Output  This Is A Test
  893.  
  894.  
  895. Multiple key strokes must include a plus sign '+' between keys and all keys
  896. must be surrounded by square brackets '[ ]'.
  897.  
  898. Example:
  899.    Stuffer [AL+a]                  <--- Output  Left ALT & a
  900.    Stuffer [CL+SL+F1]              <--- Output  Left CTRL, Left SHIFT & F1 Keys
  901.  
  902.  
  903. To stuff a capital letter, either pass the capitalized letter or the letter
  904. and a SHIFT key.
  905.  
  906. Example:
  907.    Stuffer ABC                         <--- Output  ABC
  908.    Stuffer [SL+a][SL+b][SL+c]          <--- Output  ABC
  909.    Stuffer !@#                         <--- Output  !@#
  910.    Stuffer [SL+1][SL+2][SL+3]          <--- Output  !@#
  911.  
  912.  
  913. Stuffing data to another OS/2 Session
  914.  
  915. To stuff keystroke data to an OS/2 Full Screen Session other than the current
  916. one, pass the session Id on the command line of Stuffer.exe.
  917.  
  918. The session Id can be optioned by using GetId.exe supplied with KbStuffer.
  919.  
  920. Example:
  921.    GetId returned 8.
  922.    Stuffer /8 dir[ET]          <--- Output  dir ENTER (In the selected session)
  923.  
  924.  
  925.  
  926.  
  927.  
  928.                                     Page 15
  929. Control Codes
  930.  
  931. KbStuffer categorizes keystroke data into two categories.
  932. 1.  Alpha-numeric and punctuation (Ex. a - z, 0 - 9, + - : ' etc.)
  933. 2.  Control Codes (Ex. SHIFT, ALT, ENTER, TAB, F1 etc.)
  934.  
  935. A Control Code is a two character abbreviation for a key. A Control Code must
  936. be surrounded by square brackets '[ ]'.
  937.  
  938.  
  939. Example:
  940.    [AL]                    <--- Output  Left ALT Key
  941.    [SR]                    <--- Output  Right SHIFT Key
  942.    [TA]                    <--- Output  TAB Key
  943.    [WU]                    <--- Output  Up Arrow Key
  944.    [N7]                    <--- Output  Number Pad 7 Key
  945.  
  946.  
  947. Multiple Keys
  948.  
  949. To stuff multiple keystrokes (one or more of which is/are Control Code(s)),
  950. separate the keystrokes with a plus sign '+' and surround all the keystrokes
  951. with a set of square brackets '[ ]'.
  952.  
  953. Example:
  954.   [CL+FA]                  <--- Output  Left CTRL and F10 Keys
  955.   [AR+x]                   <--- Output  Right ALT & x Keys
  956.   [CL+AL+DE]               <--- Output  Left CTRL, Left ALT & DELETE Keys
  957.   
  958.   
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.                                     Page 16
  987. Special Case Control Codes
  988.  
  989. KbStuffer incorporates special Control Codes that alter keystroke data
  990. placement.
  991.  
  992.  
  993. Summary
  994.        WT# - Wait for # Milliseconds
  995.        WK# - Wait for # Milliseconds between all keystrokes.
  996.        QU  - Exit the KbStuffer Program.
  997.        QE  - Exit the KbStuffer Program and EXIT the session.
  998.        AE  - ALT and ESC Key Sequence.
  999.        CE  - CTRL and ESC Key Sequence.
  1000.        CM  - Close Monitors
  1001.      
  1002.  
  1003. WT# - Wait for # Milliseconds
  1004. Syntax - [WT30]                Wait for 30 Milliseconds
  1005.  
  1006. The WT# Control Code forces KbStuffer to pause for the specified time
  1007. (in milliseconds) before processing the next keystroke.
  1008. An example of using this pause action would be to give the user time to read
  1009. screen output.
  1010.  
  1011.  
  1012. WK# - Wait Between all Keystrokes
  1013. Syntax - [WT10]                Wait for 10 Milliseconds
  1014.  
  1015. WK# pauses for the specified time (in milliseconds) between every keystroke
  1016. before processing the next keystroke. The WK# Control Code may be invoked
  1017. multiple time to vary the delay between keystrokes.
  1018. Passing [WK0] will reset KbStuffer to no delay between keystrokes.
  1019. When running KbStuffer on a fast machine, the WK# option may have to be used
  1020. to avoid losing keystroke data.
  1021.  
  1022.  
  1023. QU - Quit KbStuffer Program
  1024. Syntax [QU]
  1025.  
  1026. Passing QU will cause KbStuffer to clean-up and exit. Any keystroke data
  1027. following QU will not be processed.
  1028.  
  1029.  
  1030. QE - Quit KbStuffer Program and EXIT
  1031. Syntax [QE]
  1032.  
  1033. QE is similar to QU except an EXIT is run in the OS/2 Session KbStuffer was
  1034. executing in, there by ending the session.
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.                                     Page 17
  1045. AE - ALT and ESC Key Sequence
  1046. Syntax [AE]
  1047.  
  1048. Executes the ALT+ESC key sequence. The action takes place in the current
  1049. foreground session.
  1050.  
  1051.  
  1052. CE - CTRL and ESC Key Sequence
  1053. Syntax [CE]
  1054.  
  1055. Executes the CTRL+ESC key sequence. The action takes place in the current
  1056. foreground session.
  1057.  
  1058.  
  1059. CM - Close Monitors
  1060. Syntax [CM]
  1061.  
  1062. KbStuffer creates a new Keyboard Monitor for each new OS/2 Session it works
  1063. with. Use this Control Code to close all Keyboard Monitors current being
  1064. used by KbStuffer.
  1065.   
  1066.   
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.                                     Page 18
  1103. Scan Codes
  1104.  
  1105. Alpha-numeral keystrokes may also be passed to KbStuffer by sending the key's
  1106. Scan Code instead of the key's character (see Appendix B). This option was
  1107. added for passing of sensitive data like passwords.
  1108.  
  1109. Note: Information about Scan Codes only appears in this document. Scan Code
  1110. Information is not mentioned in KbStuffer's on-line help for security reasons.
  1111.  
  1112. To pass a key's Scan Code, surround the 3 digit Scan Code Number with square
  1113. brackets '[ ]'.
  1114.  
  1115. Example:
  1116.    Stuffer [031][050][048]         <--- Output abc
  1117.    Stuffer [046][003][004]         <--- Output 123
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.                                     Page 19
  1161. Using Shared Memory and System Semaphores
  1162.  
  1163. The sub-directory STUFFER contains the source code for Stuffer.exe.
  1164. Stuffer.c is a detailed example of using shared memory and system semaphores
  1165. to send keystroke data to KbStuffer. See Appendix E for a list of Shared Memory
  1166. and System Semaphore Names.
  1167.  
  1168.  
  1169. To send keystroke data to KbStuffer
  1170.   
  1171. 1.  Attach to the shared memory and system semaphores.
  1172. 2.  Place keystroke data into shared memory.
  1173.  
  1174.  
  1175. To attach to shared memory
  1176.  
  1177. 1.  Open the shared memory InUse semaphore.
  1178. 2.  Open the shared memory DataWaiting semaphore.
  1179. 3.  Wait for the InUse semaphore to clear, signaling the shared memory has
  1180.     been created by KbStuffer.
  1181. 4.  Get the address of KbStuffer's shared memory.
  1182. 5.  Turn the shared memory address into a pointer.
  1183.  
  1184.  
  1185. To place data into KbStuffer's shared memory
  1186.  
  1187. 1.  Get the Id of the OS/2 Session the data will be stuffed into.
  1188. 2.  Wait for the shared memory to be cleared using the InUse semaphore
  1189. 3.  Place keystroke data into shared memory.
  1190. 4.  Clear the InUse semaphore.
  1191. 5.  Clear the DataWaiting semaphore, signaling that there is data waiting in
  1192.     shared memory.
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.                                     Page 20
  1219. Appendix A - Control Key Codes
  1220.  
  1221. All Control Key Codes For KbStuffer are case insensitive.
  1222.  
  1223.        BS - BACKSPACE Key          N/ - Number Pad /
  1224.        ET - ENTER Key              N* - Number Pad *
  1225.        ES - ESC Key                N- - Number Pad -
  1226.        SB - SPACE BAR              N+ - Number Pad +
  1227.        TB - TAB Key                NE - Number Pad ENTER
  1228.                                    N. - Number Pad .
  1229.        AL  - Left ALT Key          N0 - Number Pad 0
  1230.        AR - Right ALT Key          N1 - Number Pad 1
  1231.        CL - Left CTRL Key          N2 - Number Pad 2
  1232.        CR - Right CTRL Key         N3 - Number Pad 3
  1233.        SL - Left SHIFT Key         N4 - Number Pad 4
  1234.        SR - Right SHIFT Key        N5 - Number Pad 5
  1235.                                    N6 - Number Pad 6
  1236.        F1 - F1 Function Key        N7 - Number Pad 7
  1237.        F2 - F2 Function Key        N8 - Number Pad 8
  1238.        F3 - F3 Function Key        N9 - Number Pad 9
  1239.        F4 - F4 Function Key
  1240.        F5 - F5 Function Key        WT - Wait For # milliseconds
  1241.        F6 - F6 Function Key        WK - Every Key Wait # ms
  1242.        F7 - F7 Function Key
  1243.        F8 - F8 Function Key        AC - ALT+ESC Key Sequence
  1244.        F9 - F9 Function Key        CE - CTRL+ESC Key Sequence
  1245.        FA - F10 Function Key       
  1246.        FB - F11 Function Key       QU - Quit KbStuffer
  1247.        FC - F12 Function Key       QE - Quit KbStuffer and EXIT
  1248.                                    CM - Close Monitors
  1249.        
  1250.        
  1251.        
  1252.                                 
  1253.                                 
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.                                     Page 21
  1277. Appendix B - Scan Code Numbers
  1278.  
  1279.                                 
  1280.                         Scan Codes by Key
  1281.                                 
  1282.  
  1283.   Key  Code       Key  Code               Code  Key       Code   Key
  1284.   -------------------------               --------------------------
  1285.    A   031    |    S   032                 002   1    |    025    O
  1286.    B   050    |    T   021                 003   2    |    026    P
  1287.    C   048    |    U   023                 004   3    |    031    A
  1288.    D   033    |    V   049                 005   4    |    032    S
  1289.    E   019    |    W   018                 006   5    |    033    D
  1290.    F   034    |    X   047                 007   6    |    034    F
  1291.    G   035    |    W   022                 008   7    |    035    G
  1292.    H   036    |    Z   046                 009   8    |    036    H
  1293.    I   024    |    1   002                 010   9    |    037    J
  1294.    J   037    |    2   003                 011   0    |    038    K
  1295.    K   038    |    3   004                 017   Q    |    039    L
  1296.    L   039    |    4   005                 018   W    |    046    Z
  1297.    M   052    |    5   006                 019   E    |    047    X
  1298.    N   051    |    6   007                 020   R    |    048    C
  1299.    O   025    |    7   008                 021   T    |    049    V
  1300.    P   026    |    8   009                 022   Y    |    050    B
  1301.    Q   017    |    9   010                 023   U    |    051    N
  1302.    R   020    |    0   011                 024   I    |    052    M
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.                                     Page 22
  1335. Appendix C - Known Problems With KbStuffer
  1336.  
  1337. Stuffing dir/p[ET] to the keyboard buffer will lock up the computer. This will
  1338. also happen if the environment variable DIRCMD is set with the /p option.
  1339.  
  1340.  
  1341. To stuff a quote " using Stuffer.exe, use the following syntax
  1342.    Stuffer \"
  1343.    Stuffer \"Hello\"
  1344.  
  1345.  
  1346. The Print Screen and Pause/Break keys will not work with this version of
  1347. KbStuffer to avoid system crashes and unexpected occurrences.
  1348.  
  1349. Passing Control S to a command line prompt is not recommended. This could
  1350. cause the session to lock out any further keystroke input.
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.                                     Page 23
  1393. Appendix D - Shared Memory and Semaphores
  1394.  
  1395. Note: Shared Memory and System Semaphores are case sensitive.
  1396.  
  1397. Shared Memory InUse Semaphore          "/Sem/WLM/KbStuff/InUseSem."
  1398. Shared Memory DataWaiting Semaphore    "/Sem/WLM/KbStuff/DataWaitSem."
  1399. Shared Memory Name                     "/ShareMem/WLM/KbStuff/Buffer."
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.                                     Page 31
  1451. Appendix E - Future Releases
  1452.  
  1453. Future releases of KbStuffer will include:
  1454.    *   The ability to stuff to PM applications.
  1455.    *   32-bit code.
  1456.    *   Multiple Keyboard language support.
  1457.    *   Your comments and suggestions.
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.                                     Page 32
  1509.