Comax Morse Code Input

 

Version 1.1.5
January 25, 2009
Operation Simulation Associates, Inc.
www.comax.com

 

 

 

 

 

Summary

 

Comax allows emulation of the keyboard using Morse code input via clicking the mouse keys or by use of an attached Morse code key or paddle. The Comax software works with standard applications on computers running the Microsoft Windows operating system.


 

Introduction

 

Comax is a method of using Morse code to replace the keyboard on computers using Windows operating systems. Comax offers input codes for all the standard keys, not just the alphabet and numbers, and works with all Windows applications. Comax covers the full range of Morse code speed, from the beginner using mouse input, to the handicapped using special switches, to the experienced Morse operator running at high speed. Some of the Comax features are:

  • Comax is a software application. If the mouse is used for code input, no additional hardware is required.
  • The code is optionally sounded through the computer sound system. Tone and volume may be adjusted.
  • Comax supports one button mode (straight key) using any mouse button.
  • Comax supports two button keying mode (paddle) using any two mouse buttons.
  • Comax provides standard Iambic keyer emulation (Iambic A, Iambic B, ultramatic), including autospace and fully customizable delay settings.
  • Comax has novel ClickQ™ and PauseQ™ modes for easier, more natural, and faster sending.
  • Comax has a new MorseLock™ feature enables rapid and seamless switching between code entry and normal mouse functionality.
  • A special Comax mouse with an input connector can accept input from a Morse code key or paddle.
  • The mouse input connector may also be used for connection of switches for the handicapped.

Comax provides a complete replacement for the keyboard. There are many applications where a Morse replacement offers advantages. Some common applications are:

  • Amateur radio operators and other Morse code enthusiasts will prefer code entry as an option to the keyboard. In fact experienced Morse code operators can send Morse code faster than most keyboard typists.
  • Having only the mouse on the desk reduces clutter and increases desk space.
  • Comax only requires one hand for sending and does not require looking at a keyboard or screen while sending.
  • Use of a computer with Comax is less tiring than a keyboard, especially when using a paddle.
  • Comax is a great way to learn the Morse code or to improve code speed and proficiency.
  • Comax works well with small handheld computers where the keyboard is too small for comfort.
  • Comax works well with handhelds or laptops in mobile operations where the rough ride makes keyboard use difficult. This includes military applications.
  • Comax works well with "wearable" computers where the screen is displayed in a headset.
  • Comax is an alternate input device for those suffering from carpel tunnel. Can be used with either hand, or even adapted to a foot switch.
  • Comax has applications for the handicapped as an alternate input device connecting to special switches or even to a brainwave scanner.
  • With practice, a person with speech impairment can send Morse code fast enough for the computer to drive a speech synthesizer at near normal speech speed.

Installation and Setup

 

Installation

 

Run the Install File and follow the instructions. If the Microsoft dot net extensions are not already installed on your computer, you will be asked to connect to the Internet and allow the download from the Microsoft web site. Comax requires version 2.0 or higher.

 

The install program will create a Comax Icon on your desktop. Click the icon to start Comax.

 

Comax provides a standard uninstall script; just make sure the Comax program is closed when you uninstall.

 

If you have a demo version of Comax, only the default features will be enabled. Visit www.comax.com to obtain a software license key to enable all features. To enter the license key: 1) start Comax, 2) right click the Comax notification icon in the taskbar, 3) choose the setup option, 4) access the license tab page, 5) enter the key, and 6) press accept. When you re-open setup, all features will be enabled. More detailed instructions are provided in the following sections.

 

 


Setup

 

When Comax is started, a small welcome message window will display “Welcome to Comax Morse code input! See taskbar notification icon for help and options.” Click the OK button and a new popup will say “focus on a window” and the toolbar icon will appear as a black dot.

 

When the focus is moved to another window, such as a text document, the Comax Keyer box will appear inactive and say “click here to send”. Moving the cursor to the Comax Keyer box and clicking there will send Morse code as replacement for the keyboard. Input can be sent to any application, including Windows itself, with the exception of some games which use direct input.

 

The Comax Keyer box may be moved, resized, or closed by clicking on the title bar and activating the window. When you are finished, re-focus on your application by clicking on its window.

 

The Comax options are set by right-clicking the Comax notification icon (a black dot) on the windows tool bar, at the lower right corner of the computer, and selecting the desired option as follows:

 

The Setup option opens the setup screens discussed in the next sections.

 

The Keyboard option opens the on-screen Comax Keyboard. Keys are pressed by clicking with any mouse button. This keyboard is similar to the Microsoft on-screen keyboard, except that each key is also labeled with the corresponding Morse code. For example, the ‘r’ key has the code label “.-.” which represents dot-dash-dot, the Morse code for that letter. When the Comax Keyboard Code Play option in Advanced Setup (see the next section) is checked, Morse code will also be played as keys are clicked. Note that when CapsLock is pressed, upper and lowercase letters are toggled on the keyboard itself, while the Shift, Control, Alt, and Win keys must be pressed sequentially before the key affected.

 

 

The Skins option sets the Comax user interface look and feel. This version of Comax includes two skins: the classic skin and a black dot skin. The default classic skin is a basic Microsoft window that displays the running dot/dash stream and the last character sent. The black dot skin is translucent and can be placed over the document / active window with minimal interference with your work. The black dot can be moved by grabbing near its border. New skins will be available with future releases.

 

The Help option opens the help file (this document) and the Exit option closes Comax. It is important to cleanly close Comax in order to avoid any mouse setting problems.

 

License Setup Screen

 

With the exception of button mode, all Comax features are locked to their default value unless a seven digit software license key has been entered on the license setup screen. This feature enables a demo version of Comax to be freely distributed. The website www.comax.com contains information on upgrading to a full-featured version. After entering the key, which is case sensitive, press the accept button.

 

Basic Setup Screen

 

Comax can be configured to operate either with a single or dual paddle. In single button mode, also know as “straight key”, dots and dashes are determined by the length of time the button is held down.

 

In two button mode, the left mouse key sends dots and the right mouse key sends dashes (the exact mouse keys are configurable). The length of each dot and dash is determined by the speed setting, not by the length of time the key is held down. Holding down a key will cause the dot or dash to repeat until the key is released.

 

In two button mode, there are three standard keying modes: Iambic A, Iambic B, and Ultramatic. The different keying modes define what happens when both buttons / paddles are held down simultaneously. In ultramatic mode, the last button pressed is repeated at the repeat rate. In Iambic mode, an alternating sequence of dots and dashes is sent, starting with whichever button was pressed first. In Iambic A, repeating stops as soon as both buttons are released. In Iambic B, one mode dot / dash is sent after both buttons are released. For advanced users, mode preference is user specific and often depends on their ‘fist’, or sending style, and on what brand of key they original trained. Many online amateur radio websites explain these differences in more detail.

 

The licensed speed may be set as novice, general, advanced, or by selecting a custom speed, from 5 to 70 words per minute, using the drop down box. Generally, a user starts slow and advances the speed as their skill improves.

 

Comax supports assignment of any mouse button to any Morse code key. In one button mode, Button Selection assigns any mouse button to the key. In two button mode, Button Selection assigns the dot to one mouse button and the dash to another. Button selection must be mutually exclusive or Comax will reset to its defaults.

 

Button selection also supports assignment of a mouse button as a MorseLock™. By default, MorseLock™ is not assigned (the “None” mouse button is selected).  When the MorseLock™ is assigned to a mouse button, then that button will serve as a toggle switch, similar to NumLock on the keyboard. Clicking that button once will lock on Morse code sending. Clicking a second time will unlock it. With sending locked, you no longer need to position the cursor over the Comax Keyer window to send. Just remember to unlock whenever you want to use your mouse normally.

 

The AutoSpaceBar option will insert a space between words whenever sending is paused. This option avoids the need to send the Morse code for space, but may insert unwanted spaces for inexperienced users. Spaces will not be generated in sequences that include keyboard input.

 

The mute button turns off the sidetone sound. The sidetone volume is set using the standard computer sound controls.

 

Advanced Setup Screen

 

The first box on the advanced setup screen, “Queuing”, allows setup of the Comax proprietary Queuing modes, called ClickQ™ and PauseQ™. See the next section for more detailed description of these modes. Note that this feature does not affect the behavior in one button mode.

 

The advanced setup also includes a number of timing entries that are automatically set as the speed selection (in the basic setup tab) is adjusted. These setting include the dot length, dash length, delay between dots / dashes (intra-character), the delay between characters (inter-character), the delay between words (inter-word), and the repeat delay. All timing units are in milliseconds. For advanced users who like to experiment, these inputs can be changed at will. Not all inputs will produce useful behavior; press the default button or adjust the licensed speed setting to return to a known good state.

 

New users might find it helpful to set the repeat delay to a higher value. When adjusting the repeating rate manually, using advanced setup, it is important to keep the repeating time greater than the delay between dots/dashes but less than the delay between characters, or set to a large number to effectively disable repeating.

 

The tone for the dot frequency and dash frequency may be set in HZ. Higher numbers produce high pitches. 440HZ is the A above middle C on a piano. In two button mode, the length of the dash may be reduced to the same length as the dot and the user can distinguish between dot and dash by using a slightly lower tone for the dash. This allows faster sending, but takes some practice to learn.

 

The one button tolerance is used to distinguish between dot and dash length. This parameter should be adjusted with care. Comax will recognize a dash if the tone length is greater than dash * (1 – tolerance percentage), otherwise it will recognize a dot.

 

The autospace option emulates a standard feature of some Iambic keyers in which the spacing between characters is automatically adjusted in the case where the user presses the key after the intra-character delay (the delay between dots and dashes) but before the inter-character delay (between characters). In this case, with autospace on, the spacing is increased to exactly equal the inter-character delay. The purpose of this feature is to create very evenly spaced code for listeners. If you are listening rather than watching whether or not you have send the correct text, this feature can be valuable, although it slightly slows down the send rate. Note this flag is distinct from the AutoSpaceBar feature in the basic menu which automatically inserts spaces (presses the spacebar) after words. Autospace does not add word level spacing. Autospace doesn’t affect one button behavior.

 

The Comax Keyboard Play option controls the Morse code output of the on-screen keyboard. When checked and an on-screen Comax Keyboard key is clicked, the corresponding Morse code is played via the Comax window. If the sidetone is muted or sound is not available, the code may still be viewed in the classic Comax window. Output is delayed by the amount of time it takes to sound the code. When unchecked, there is no sound or delay when using the on-screen Comax Keyboard.

 

The Default Keyboard Play option provides similar Morse code output functionality for any keyboard or alternative entry device that generates keystrokes in Windows, including the Microsoft On-Screen Keyboard and third-party on-screen keyboards. Comax primarily provides this feature for learning Morse code as the goal is to replace the keyboard. However, in this mode Comax can also be used in reverse – to send very consistent high speed code from a computer keyboard. The audio output of the computer can be recorded or connected directly to a radio transmitter.



Operation

 

After starting Comax, use the mouse cursor to select the window, and position, where text is to be entered just as if you were going to enter via the keyboard. Then move the mouse to the Comax Keyer Window (or black dot if in dot mode) and enter text via the mouse clicks. When the cursor is moved away from the Comax Keyer Window or black dot, it will again act as a normal mouse. The black dot is transparent and can be placed over the active window and near your working area.

 

If MorseLock™ has been assigned to a button, for example the Middle mouse button, then pressing this button will toggle the mouse between Morse code sending and functioning as a normal mouse (with the exception of the lock button itself). When using a lock button, you do not need to keep the cursor over the Comax window; however that button is no longer available for other Windows applications.

 

Comax setting may be adjusted at any time by clicking on the Comax notification icon in the Windows taskbar and selecting setup. When a setting has been changed, just click the “Apply” or “OK” button and those settings will immediately take effect.

 

An On-Screen Keyboard can be enabled at any time by clicking on the Comax notification icon and selecting keyboard. Use the mouse to click on individual keys, or simply use the keyboard as a Morse code table and read the dots and dashes off each key.

 

Comax can also play Morse code from keyboard input. Turn on either the On-Screen Keyboard Play option or the Physical Keyboard Play option (in Advanced Setup). Be careful when playing from the physical keyboard as everything you type is played at speed.

 

Exit Comax by closing the Comax Keyer Window or by selecting “Exit” from the notification menu.


Notes on ClickQ™ and PauseQ™

 

Comax timing is somewhat more sophisticated than a standard hardware keyer. Comax supports a proprietary ‘click-ahead’ feature, called ClickQ™ that lets the user click at a faster rate than the send rate. With queuing turned off, Comax emulates a standard keyer. The user must hold down any key presses until the appropriate dot / dash sound starts. With ClickQ™ checked, the user can release as soon as you press, just like clicking a mouse. These extra clicks, which would normally be ignored by a standard key, are queued in order and sent at the appropriate time. If the speed setting is slow, a user can actually get several dots / dashes ahead. Note that when clicks are queued, repeating is temporarily disabled to avoid confusion.

 

In addition to queuing clicks, the PauseQ™ mode enables queuing of characters (by storing the pause between them). When no key is pressed for a time period greater than the set delay between dots and dashes, a new character is started, independent of any dots and dashes still playing. This flexibility allows true de-coupling of sending and playback, supporting tighter character sending at high speeds while being more forgiving of timing variability at low speeds.

 

Note that with PauseQ™ the timing of the delay between dots/dashes starts when the user releases the button rather than when the character stops playing, reducing the chance of fusing two letters accidentally (for example “AN” becoming “P”).

 

In Summary, ClickQ™ and PauseQ™ provides a more natural feel when using a computer mouse to send code at slow and medium speeds and for users who prefer to click multiple times rather holding to repeat. At high speeds, ClickQ™ and PauseQ™ free the user to release a key immediately and press the next key earlier without adverse effects.


 

Morse Code Primer

 

Copied from www.wikipedia.com

 

Morse code is a character encoding for transmitting telegraphic information, using standardized sequences of short and long elements to represent the letters, numerals, punctuation and special characters of a given message. The short and long elements can be formed by sounds, marks, or pulses, in on off keying and are commonly known as "dots" and "dashes" or "dits" and "dahs".

 

International Morse code is composed of five elements:

1.    short mark, dot or 'dit' (·) — one unit long

2.    longer mark, dash or 'dah' (–) — three units long

3.    intra-character gap (between the dots and dashes within a character) — one unit long

4.    short gap (between letters) — three units long

5.    medium gap (between words) — seven units long[9]

Morse code can be transmitted in a number of ways: originally as electrical pulses along a telegraph wire, but also as an audio tone, a radio signal with short and long tones, or as a mechanical or visual signal (e.g. a flashing light) using devices like an Aldis lamp or a heliograph.

Morse code is transmitted using just two states (on and off) so it was an early form of a digital code. Strictly speaking it is not binary, as there are five fundamental elements (see quinary). However, this does not mean Morse code cannot be represented as a binary code. In an abstract sense, this is the function that telegraph operators perform when transmitting messages. Working from the above definitions and further defining a 'unit' as a bit, we can visualize any Morse code sequence as a combination of the following five elements:

1.    short mark, dot or 'dit' (·) — 1

2.    longer mark, dash or 'dah' (–) — 111

3.    intra-character gap (between the dots and dashes within a character) — 0

4.    short gap (between letters) — 000

5.    medium gap (between words) — 0000000

Note that this method works only under the assumption that dits and dahs are always separated by gaps, and that gaps are always separated by dits and dahs.

The speed of Morse code is typically specified in "words per minute" (WPM). In text-book, full-speed Morse, a dah is conventionally 3 times as long as a dit. The spacing between dits and dahs within a character is the length of one dit; between letters in a word it is the length of a dah (3 dits); and between words it is 7 dits. The Paris standard defines the speed of Morse transmission as the dot and dash timing needed to send the word "Paris" a given number of times per minute. The word Paris is used because it is precisely 50 "dits" based on the text book timing.

Under this standard, the time for one "dit" can be computed by the formula: T = 1200 / W

Where: W is the desired speed in words-per-minute, and T is one dit-time in milliseconds

                                                                                           

 


 

APPENDIX

 

Morse Code Definition

 


 

                        STANDARD CHARACTERS

 

Character

 

code

 

character

 

code

 

A

l-

 

N

-l

 

B

-lll

 

O

---

 

C

-l-l

 

P

l--l

 

D

-ll

 

Q

--l-

 

E

l

 

R

l-l

 

F

ll-l

 

S

lll

 

G

--l

 

T

-

 

H

llll

 

U

ll-

 

I

ll

 

V

lll-

 

J

l---

 

W

l--

 

K

-l-

 

X

-ll-

 

L

l-ll

 

Y

-l--

 

M

--

 

Z

--ll

 

1

l----

 

6

-llll

 

2

ll---

 

7

--lll

 

3

lll--

 

8

---ll

 

4

llll-

 

9

----l

 

5

lllll

 

0

-----

 

space

ll--

 

backspace

----

 

period

l-l-l-

 

comma

--ll--

 

?

ll--ll

 

!

l-ll--


 

 

STICKY KEYS

 

Modifies Only the Next Entry  

 

Left Shift

ll-l-

 

Right Shift

l---l-

 

Left ALT

l-l--

 

Right ALT

ll--l-

 

Left CTRL

-l-l-

 

Right CTRL

--l-l-

 

Left Windows

ll-l--

 

Right Window

-l-l--

 

Application Key

-lll--

 

 

 

 

 

 

 

KEYBOARD EXTENSIONS

 

 

function

 

code

 

abbreviation

 

Enter

l-l-

 

ent

 

Esc

ll-ll

 

ere

 

Delete

-ll-l

 

dte

 

Insert

l-ll-

 

au

 

:

-l-l-l

 

cn

 

;

lll-l

 

sn

 

<

l-lll-

 

la

 

>

--ll-l

 

zn

 

 

--l--

 

qt

 

/

--ll-

 

zt

 

\

-lllll

 

bs

 

Tab

-l--l

 

tan

 

Home

llll-l

 

hn

 

End

-l-ll

 

nd

 

Page Up

---ll-

 

 

 

Page Down

---l-l

 

 

 

Left Arrow

----l-

 

 

 

Right Arrow

-----l

 

 

 

Up Arrow

----ll

 

 

 

Down Arrow

------

 

 

 

@

l---l

 

atn

 

#

-l---

 

no

 

^

-l-ll-

 

Ca

 

=

l--l-

 

eq

 

%

l--l-l

 

pn

 

+

l--ll

 

pe

 

-

---l

 

mn

 

*

l-lll

 

as

 

(

lll--l

 

sg

 

)

-ll--l

 

dg

 

[

ll-lll

 

us

 

]

-l-lll

 

ks

 

{

ll---l

 

ug

 

}

-l---l

 

kg

 

$

-lll-l

 

dr

 

~

--lll-

 

tda

 

_

ll--l

 

un

 

|

lll-ll

 

vi

 

> 

--ll-l

 

gr

 

< 

l-lll-

 

la

 

&

-ll--

 

xt

 

Scroll Lock

lll-l-

 

sk

 

Prt Sc

-llll-

 

du

 

`

..-..-

 

uu

 

F1

ll----

 

e1

 

F2

lll---

 

e2

 

F3

llll--

 

e3

 

F4

lllll-

 

e4

 

F5

llllll

 

e5

 

F6

l-llll

 

e6

 

F7

l--lll

 

e7

 

F8

l---ll

 

e8

 

F9

l----l

 

e9

 

F10

l-----

 

e0

 

F11

-l-----

 

t1

 

F12

-ll----

 

t2

 

Caps Lock Toggle

ll-l-l

 

ic

 

Num Lock Toggle

-ll-ll

 

nl

 

Sys Req

-l--l-

 

kk

 

Pause

l--ll-

 

pa