KK KK 11 EEEEEE LL KK KK 111 EE LL K1EL Systems KKK 11 EEEE LL ===> M2M Limited KK KK 11 EE LL 1997 KK KK 1111 EEEEEE LLLLLL Mouse To Morse - Version 1.5 May 1997 All Rights Reserved. Shareware Mouse to Morse is a "hidden" utility program which remains "resident" in RAM, as an extension of MSDOS, until the system is re-booted. It's purpose is to provide a means of reading an MSDOS text screen by using morse code sent out of the PC's speaker. It is aimed at visually or visually and sight impaired persons who would like a simple, inexpensive, and convenient means of interactively reading a computer text display without disrupting the application they are running. The interface is designed to allow the user to operate it primarily with one hand. This leaves the other hand free for tactile feedback from a speaker or transducer. This version of M2M is fully functional but displays a sign-on display with a morse code greeting. If you find the program useful please register your version and I will send you the latest copy. Which has many new features. Installation: There is no special installation required just copy the file to a place where your path will find it and that's it. It is necessary that you have a Microsoft compatible mouse installed on your PC before starting M2M. If you don't M2M will report an error and not load. After the mouse driver has been loaded just type M2M and the TSR will load output a morse code greeting and become activated. You may want to add M2M to your autoexec.bat file so that it automatically loads at boot time. Please note that M2M is meant for MSDOS only and will not operate with Microsoft Windows or other bit mapped graphic applications. M2M is a tiny model TSR occupying about 8K bytes of memory. When it loads it prints out a startup banner and is ready to use. The mouse cursor is separate from the normal DOS cursor and is only visible when the mouse is moved. After a couple of seconds of mouse inactivity the cursor will disappear until the mouse again moves. The initial cursor position is at the bottom left of the screen. By sliding the mouse to the right the mouse block cursor will appear and scan across the text line. Morse code output will commence as you move over sendable text. The text is buffered which allows you to move ahead without loosing any text you pass over. Notice that the mouse cursor is vertically locked to the text line, this allows you to comfortably read without worrying about inadvertently jumping up or down a line. Also notice that text will only be picked up as you move from left to right. This allows you to back up and revisit earlier text in the line without acquiring words in reverse character order. To move the mouse cursor up or down you use the mouse buttons. Here is a list of mouse button actions and their result: Click Left Button Move up one line Click Right Button Move down one line Click Both, left 1st Move to top of screen (Home) Click Both, right 1st Move to bottom of screen (End) When you move the mouse cursor up or down it will be set to the left most character position and the morse buffer is cleared. You can use this to your advantage, if you want to quickly clear the buffer and go to the start of a line press the left button, release, and then the right button. If you try to move above the top line or below the bottom line of the display M2M will output a single 'DIT'. The Home and End movements use a combination of two button clicks. To move home first press the left mouse button and hold it down, then press the right button and the cursor will move the top line. Remember that the MSDOS cursor is never affected by mouse cursor moves, they are completely separate. The mouse cursor is only used by M2M to scan text for morse code output and does this in a transparent, non-obtrusive way. There are several hot keys that are assigned to special M2M options: SHIFT-CTRL-A Increase morse output frequency SHIFT-CTRL-Z Decrease morse output frequency SHIFT-CTRL-Q Move mouse cursor to MSDOS cursor SHIFT-CTRL-D Output the MSDOS cursor position col.row in morse SHIFT-CTRL-E Output the Mouse cursor position col.row in morse SHIFT-CTRL-S Toggle morse speed 9/18 WPM SHIFT-CTRL-X Toggle extended character set enable SHIFT-CTRL-W Tone shift on lower case To activate the function press the left shift key, the control key, and the action key (ex. A to increase frequency) all at the same time. Following is the character set assignments: ! exclamation point DI-DI-DI-DAH-DI extended " double quote DAH-DI-DI-DAH-DAH extended # number sign DAH-DAH-DAH-DAH extended $ dollar sign DI-DAH-DAH-DI-DAH extended % percent sign DAH-DAH-DAH-DI-DAH extended & ampersand DI-DAH-DI-DI-DI extended ' apostrophe DI-DI-DI-DI-DI-DI extended ( left parenthesis DAH-DI-DAH-DAH-DI extended ) right parenthesis DAH-DI-DAH-DI-DAH extended * asterisk DI-DI-DI-DAH-DI-DAH extended + plus sign DI-DAH-DI-DAH-DI extended , comma DAH-DAH-DI-DI-DAH-DAH normal - dash bar DAH-DI-DI-DI-DAH normal . period DI-DAH-DI-DAH-DI-DAH normal / forward slash DAH-DI-DI-DAH-DIT normal 0 zero DAH-DAH-DAH-DAH-DAH normal 1 one DI-DAH-DAH-DAH-DAH normal 2 two DI-DI-DAH-DAH-DAH normal 3 three DI-DI-DI-DAH-DAH normal 4 four DI-DI-DI-DI-DAH normal 5 five DI-DI-DI-DI-DIT normal 6 six DAH-DI-DI-DI-DIT normal 7 seven DAH-DAH-DI-DI-DIT normal 8 eight DAH-DAH-DAH-DI-DIT normal 9 nine DAH-DAH-DAH-DAH-DIT normal : colon DAH-DI-DAH-DI-DI extended ; semicolon DI-DAH-DI-DI-DAH extended < left arrow DAH-DAH-DI-DI-DAH extended = equals DI-DAH-DI-DAH extended > right arrow DAH-DAH-DI-DAH-DAH extended ? question DI-DI-DAH-DAH-DI-DIT normal @ at sign DI-DI-DAH-DAH normal A a DI-DAH normal B b DAH-DI-DI-DIT normal C c DAH-DI-DAH-DIT normal D d DAH-DI-DIT normal E e DIT normal F f DI-DI-DAH-DIT normal G g DAH-DAH-DIT normal H h DI-DI-DI-DIT normal I i DI-DIT normal J j DI-DAH-DAH-DAH normal K k DAH-DI-DAH normal L l DI-DAH-DI-DIT normal M m DAH-DAH normal N n DAH-DIT normal O o DAH-DAH-DAH normal P p DI-DAH-DAH-DIT normal Q q DAH-DAH-DI-DAH normal R r DI-DAH-DIT normal S s DI-DI-DIT normal T t DAH normal U u DI-DI-DAH normal V v DI-DI-DI-DAH normal W w DI-DAH-DAH normal X x DAH-DI-DI-DAH normal Y y DAH-DAH-DI-DAH normal Z z DAH-DAH-DI-DIT normal [ left bracket DAH-DAH-DI-DI-DI-DAH extended \ path slash DAH-DAH-DAH-DI extended ] right bracket DAH-DAH-DI-DI-DI-DAH-DAH extended ^ carat DI-DI-DAH-DAH-DI extended _ underscore DI-DI-DI-DAH-DAH-DAH-DI extended ` tick DI-DI-DI-DAH-DAH-DI-DI extended { left brace DI-DAH-DAH-DAH-DAH-DAH extended | vertical bar DI-DAH-DAH-DAH-DAH-DI extended } right brace DAH-DAH-DAH-DAH-DAH-DI extended ~ tilde DI-DI-DAH-DAH-DAH-DI extended On start-up only the normal character set is activated. The extended character set is enabled using the CTL-SHIFT-X hot key. This is a toggle, hit it once and it enables extended, hit it again it disables and so on. Note that M2M ignores all characters outside the valid range of printable characters, that being any characters with values less than hex 20 and greater than hex 7e. Only two morse code speeds are supported, 9 wpm and 18 wpm. Speed selection is done via a hot key which is a toggle similar to extended character set selection. The hot key is CTL-SHIFT-S for (S)peed. A handy feature allows the mouse cursor to be moved to the MSDOS cursor position. This is very useful when using an editor or other test entry software and you want to move the viewing scope to where you are typing. The cursor move is activated by the hot key CTL-SHIFT-Q for (Q)uick move. The current MSDOS cursor position can be output at any time by hitting the CTL-SHIFT-D key. The position will be output in rowcolumn format. For example if the cursor is on the tenth row and the seventeenth character, when you hit CTL-SHIFT-D the morse buffer will be cleared and then 10e17 will be sent. The position of the mouse cursor is not affected by this hot key. The mouse cursor position is output using the CTL-SHIFT-E hot key. The hot key CTL-SHIFT-W enables a mode whereby lower case characters will be sent at a lower tone frequency. This allows the user to easily distinguish between upper and lower case characters. The hot key is a toggle similar to extended and speed function select. The mouse buttons can be sequenced in a special way to provide a short cut to move the mouse cursor to the top or bottom of the display. By pressing and holding the left button and then pressing the right button, the mouse cursor will move to the top of the display. The opposite action will move the mouse cursor to the bottom of the display. The ALT and CTL keys can be used in conjunction with the cursor buttons to provide additional features. If the CTL key is held and the left button pressed and held M2M will output a single dit for each character the mouse slides over and a dah for spaces. The output will occur for both right and left cursor moves. If the CTL key and right button is pressed and held the cursor can be moved across a line and morse output is squelched. These two functions are provided to help a user move into a line without having to read the whole thing. Note that once the desired mouse button is pressed and held the CTL key can be released and the "sliding" mode will stay in effect as long as the mouse button is pressed. If the ALT key and the left button is pressed the mouse cursor will move to the MSDOS cursor position (this acts just like the SHIFT-CTRL-Q hot key). If the ALT key and right button is pressed the position of the mouse cursor is output (this acts just like the SHIFT-CTRL-E hot key). When M2M loads it takes over the mouse driver and prevents other applications from using the mouse while M2M is loaded. The method used to do this is not foolproof however and I have found several applications that reinitialize the mouse so that M2M will stop working. If you plan to use M2M with an application check first to see if there is some way to manually disable its mouse capability in the configuration process. That is the best way to insure M2M will not be disturbed. Alternately M2M can be controlled by a small MSDOS executable that can temporarily disable and reenable M2M from the command line. It is also possible to control M2M through an MSDOS interrupt. Information on these features are provided when you register M2M. There is a companion application called M2MTNC that allows a deaf blind amatuer radio operator to use packet radio. This program can be found in the /pub/simtelnet/msdos/hamradio directory. If you find this program useful a $5.00 fee is requested to help cover the cost of design and testing. The source in Turbo-C is available upon special request to the author: Steven T. Elliott K1EL 7 Carleton Road Mont Vernon, NH 03057 USA tel: 603 673 8092 e-mail: k1el@aol.com Please feel free to share unmodified copies of this program and documentation with others. Any suggestions or comments can be sent to the above address and would be greatly appreciated. I would like to express thanks to co-developer Gary C. Stephens WA1ZEM for his assistance in testing and designing this software package. GL de K1EL