Macros are a very powerful feature of KComm and are very useful during data mode communication or during CW contests. You can edit a macro by right-clicking a button, which opens a dialog box that allows you to change all its properties.
You can specify the button caption, the tooltip text (hint) that appears when you point at the button, and the actual text. Note that some of the macros also have an F key associated with them. You can activate the macro by pressing that F key, but this only works when the transmit window is the focus of your typing.
A list at the right shows the control commands and macro expansions you can use within the text. They are also shown in the following table:
|Control commands||Text expansions|
|^c - clear typeahead text||%a - antenna (from settings)
|^l - save contact to log||%c - contact's call (from log field)
|^r - go to receive||%g - greeting (GA, good morning, ...)
|^s - set contact start time||%m - your call (from settings)
|^t - go to transmit, start sending||%n - contact's name (from log field)
|^x - set contact end time||%q - radio model (from settings)
|^zxx - repeat macro in xx seconds
||%p - power in watts (from radio)
|%r - report sent (from log field)
|%s - KComm version
|%x - exchange sent (from log field)|
|%?...? - variable response|
The purpose of most of these should be self explanatory, especially when viewed in conjunction with the example macro file provided. If you look at the CQ macro text, you can see that it clears the text buffer, puts the radio into transmit, sends CQ using the expansion %m which is replaced by your call, then returns the radio to receive.
The ^zxx command can be used to send a CQ call repeatedly after a set interval, for example: ^z10. To stop the macro being repeated hit the Esc key.
The variable response expansion deserves some explanation, since the syntax is critical for it to work correctly. This is probably a unique feature of KComm. It allows you to enter variable information into a standard response when it is sent. For example, you could enter the current temperature into a stored reply about the weather, or pick the antenna you are currently using from a list.
For variable input, the format is %?prompt?. This will cause an input box to be displayed with the text "prompt" to remind you what to put. You must type the answer into the box and click OK, and your answer will be inserted into the result.
To present a choice of responses, the format is %?prompt|response 1|response 2|...|response n?. This will cause a list box to be displayed listing all the responses. You must click on one, and that text will be inserted into the result.