Files
kst4contest/website/_site/manual/en/macros-and-variables/index.html
T
2026-07-07 01:24:35 +02:00

215 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>{{ manual.title }} | KST4Contest Manual</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="canonical" href="https://kst4contest.hamradioonline.de/manual/en/macros-and-variables/">
<meta property="og:type" content="website">
<meta property="og:title" content="{{ manual.title }} | KST4Contest Manual">
<meta property="og:description" content="KST4Contest manual page: {{ manual.title }}">
<meta property="og:url" content="https://kst4contest.hamradioonline.de/manual/en/macros-and-variables/">
<meta property="og:site_name" content="KST4Contest">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{{ manual.title }} | KST4Contest Manual">
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<link rel="stylesheet" href="/assets/css/main.css?v=1783380274070">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
</head>
<body>
<div class="site-bg"></div>
<header class="site-header">
<a class="brand" href="/">
<span class="brand-mark"></span>
<span>
<strong>KST4Contest</strong>
<small>ON4KST Contest Client</small>
</span>
</a>
<nav class="site-nav">
<a href="/">Home</a>
<a href="/features/">Features</a>
<a href="/screenshots/">Screenshots</a>
<a href="/download/">Download</a>
<a href="/manual/">Manual</a>
<a href="/news/">News</a>
<a href="/faq/">FAQ</a>
<a class="nav-cta" href="https://github.com/praktimarc/kst4contest/releases/latest">Download</a>
</nav>
</header>
<main>
<section class="section">
<div class="card manual-content">
<p><a href="/manual/en/">← Back to manual overview</a></p>
<h1>Macros and Variables</h1>
<h1 id="macros-and-variables" tabindex="-1"><a class="header-anchor" href="#macros-and-variables">Macros and Variables</a></h1>
<blockquote>
<p>🇬🇧 You are reading the English version | 🇩🇪 <a href="/manual/de/makros-und-variablen/">Deutsche Version</a></p>
</blockquote>
<p>KST4Contest offers a flexible system of text snippets, shortcuts and built-in variables that significantly speed up the chat workflow during contests.</p>
<hr>
<h2 id="overview" tabindex="-1"><a class="header-anchor" href="#overview">Overview</a></h2>
<table>
<thead>
<tr>
<th>Type</th>
<th>Access</th>
<th>Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Shortcuts</strong></td>
<td>Button in the toolbar</td>
<td>Quick text insert into the send field</td>
</tr>
<tr>
<td><strong>Snippets</strong></td>
<td>Right-click / Ctrl+1…0</td>
<td>Text building blocks, optional PM sending</td>
</tr>
<tr>
<td><strong>Variables</strong></td>
<td>Usable in all text fields</td>
<td>Dynamic values (QRG, locator, AP data)</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="shortcuts-(quick-access-buttons)" tabindex="-1"><a class="header-anchor" href="#shortcuts-(quick-access-buttons)">Shortcuts (Quick-Access Buttons)</a></h2>
<p>Configurable in Preferences → <strong>Shortcut Settings</strong>.</p>
<ul>
<li>Each configured text creates <strong>one button</strong> in the user interface.</li>
<li>Clicking a button inserts the text into the <strong>send field</strong>.</li>
<li><strong>All variables</strong> can be used in shortcuts and are resolved immediately when inserted.</li>
<li>Longer texts are also possible.</li>
</ul>
<p><strong>Tip</strong>: Set up frequently used abbreviations like “pse”, “rrr”, “tnx”, “73” as shortcuts.</p>
<hr>
<h2 id="snippets-(text-building-blocks)" tabindex="-1"><a class="header-anchor" href="#snippets-(text-building-blocks)">Snippets (Text Building Blocks)</a></h2>
<p>Configurable in Preferences → <strong>Snippet Settings</strong>.</p>
<h3 id="access" tabindex="-1"><a class="header-anchor" href="#access">Access</a></h3>
<ul>
<li><strong>Right-click</strong> on a callsign in the user list</li>
<li><strong>Right-click</strong> in the CQ message table</li>
<li><strong>Right-click</strong> in the PM message table</li>
<li><strong>Keyboard shortcuts</strong>: <code>Ctrl+1</code> to <code>Ctrl+0</code> for the first 10 snippets</li>
</ul>
<h3 id="behaviour-with-a-selected-callsign" tabindex="-1"><a class="header-anchor" href="#behaviour-with-a-selected-callsign">Behaviour with a Selected Callsign</a></h3>
<p>When a callsign is selected in the user list, the snippet is addressed as a <strong>private message</strong>:</p>
<pre><code>/CQ CALLSIGN &lt;snippet text&gt;
</code></pre>
<p>Then <strong>Enter</strong> can be pressed to send directly even if the send field does not have focus.</p>
<h3 id="hardware-macro-keyboard" tabindex="-1"><a class="header-anchor" href="#hardware-macro-keyboard">Hardware Macro Keyboard</a></h3>
<p><em>(Idea by IU3OAR, Gianluca Costantino)</em></p>
<p>The key combinations <code>Ctrl+1</code> to <code>Ctrl+0</code> can be assigned to a programmable macro keyboard. One key press triggers the snippet, another press (mapped to Enter) sends it immediately. In contest operation this saves considerable time.</p>
<h3 id="predefined-default-snippets" tabindex="-1"><a class="header-anchor" href="#predefined-default-snippets">Predefined Default Snippets</a></h3>
<p>On first start, some snippets are pre-configured, e.g.:</p>
<ul>
<li><code>Hi OM, try sked?</code></li>
<li><code>I am calling cq ur dir, pse lsn to me at MYQRG</code></li>
<li><code>pse ur qrg?</code></li>
<li><code>rrr, I move to your qrg nw, pse ant dir me</code></li>
</ul>
<p>These can be customised or deleted in the Preferences.</p>
<hr>
<h2 id="variables" tabindex="-1"><a class="header-anchor" href="#variables">Variables</a></h2>
<p>Variables in written texts (snippets, shortcuts, beacon, send field) are replaced by their current values at runtime. Simply type the variable name in <strong>uppercase</strong> in the text.</p>
<h3 id="myqrg" tabindex="-1"><a class="header-anchor" href="#myqrg">MYQRG</a></h3>
<p>Replaced by the current transceiver frequency.</p>
<ul>
<li>Source: TRX sync via UDP from the logging software (if enabled)</li>
<li>Fallback: Manually entered value in the MYQRG text field to the right of the send button</li>
<li>Format: <code>144.388.03</code></li>
</ul>
<p><strong>Example</strong>: <code>calling cq at MYQRG</code><code>calling cq at 144.388.03</code></p>
<h3 id="myqrgshort" tabindex="-1"><a class="header-anchor" href="#myqrgshort">MYQRGSHORT</a></h3>
<p>Like MYQRG, but only the first 7 characters.</p>
<ul>
<li>Format: <code>144.388</code></li>
</ul>
<p><strong>Example</strong>: <code>qrg: MYQRGSHORT</code><code>qrg: 144.388</code></p>
<h3 id="mylocator" tabindex="-1"><a class="header-anchor" href="#mylocator">MYLOCATOR</a></h3>
<p>Replaced by your own Maidenhead locator (6 characters).</p>
<ul>
<li>Format: <code>JO51IJ</code></li>
</ul>
<p><strong>Example</strong>: <code>my loc: MYLOCATOR</code><code>my loc: JO51IJ</code></p>
<h3 id="mylocatorshort" tabindex="-1"><a class="header-anchor" href="#mylocatorshort">MYLOCATORSHORT</a></h3>
<p>Like MYLOCATOR, but only the first 4 characters.</p>
<ul>
<li>Format: <code>JO51</code></li>
</ul>
<p><strong>Example</strong>: <code>loc: MYLOCATORSHORT</code><code>loc: JO51</code></p>
<h3 id="qrzname" tabindex="-1"><a class="header-anchor" href="#qrzname">QRZNAME</a></h3>
<p>Replaced by the <strong>name</strong> of the currently selected station from the chat name field.</p>
<p><strong>Example</strong>: <code>Hi QRZNAME, sked?</code><code>Hi Gianluca, sked?</code></p>
<h3 id="firstap" tabindex="-1"><a class="header-anchor" href="#firstap">FIRSTAP</a></h3>
<p>Replaced by data of the first reflectable aircraft to the selected station (if available).</p>
<ul>
<li>Condition: AirScout is active and an aircraft is available.</li>
<li>Example format: <code>a very big AP in 1 min</code></li>
</ul>
<p><strong>Example</strong>: <code>AP info: FIRSTAP</code><code>AP info: a very big AP in 1 min</code></p>
<h3 id="secondap" tabindex="-1"><a class="header-anchor" href="#secondap">SECONDAP</a></h3>
<p>Like FIRSTAP, but for the second available aircraft.</p>
<ul>
<li>Example format: <code>Next big AP in 9 min</code></li>
</ul>
<p><strong>Example</strong>: <code>also: SECONDAP</code><code>also: Next big AP in 9 min</code></p>
<h3 id="myqtf-(planned-for-v1.3)" tabindex="-1"><a class="header-anchor" href="#myqtf-(planned-for-v1.3)">MYQTF <em>(planned for v1.3)</em></a></h3>
<p>Replaced by the current antenna direction in words (e.g. <code>north</code>, <code>north east</code>, <code>east</code>, …).</p>
<ul>
<li>Source: Degree value in the MYQTF input field (to the right of the MYQRG field)</li>
</ul>
<hr>
<h2 id="variables-in-the-beacon" tabindex="-1"><a class="header-anchor" href="#variables-in-the-beacon">Variables in the Beacon</a></h2>
<p>All variables can also be used in the <strong>automatic beacon</strong> (interval messages). Recommended beacon configuration:</p>
<pre><code>calling cq at MYQRG, loc MYLOCATOR, GL all!
</code></pre>
<p>Since KST4Contest automatically reads QRG data from chat messages: if other stations also use KST4Contest, they will immediately see your QRG in the QRG column of their user list.</p>
<hr>
<h2 id="example-contest-workflow-with-macros" tabindex="-1"><a class="header-anchor" href="#example-contest-workflow-with-macros">Example Contest Workflow with Macros</a></h2>
<ol>
<li>Select a station in the user list → callsign is now pre-selected.</li>
<li>Press <code>Ctrl+1</code> → Snippet “Hi OM, try sked?” is addressed as a PM.</li>
<li>Press Enter → Message sent.</li>
<li>Station replies with frequency → QRG column is automatically filled.</li>
<li>Press <code>Ctrl+2</code> → Snippet “I am calling cq ur dir, pse lsn to me at 144.388” (MYQRG resolved).</li>
<li>Press Enter → Sent.</li>
</ol>
<p>No manual typing, no errors, no interruption to CQ calling.</p>
</div>
</section>
</main>
<footer class="site-footer">
<p>KST4Contest contest-optimized ON4KST workflow for VHF/UHF/SHF operators.</p>
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
</footer>
</body>
</html>