fix: ESC now stops the active CW engine (Icom/Flex), not just WinKeyer
The ESC abort keyed WinkeyerStop unconditionally, so it never aborted the Icom CI-V or Flex CWX keyer. Route the stop through cwSource like the panel Stop button does.
This commit is contained in:
@@ -2888,7 +2888,14 @@ export default function App() {
|
||||
const keyerLive = wkActiveRef.current;
|
||||
// ESC aborts the current CW transmission AND the auto-call loop, so it
|
||||
// won't resend after the gap — you must click a CQ macro to restart it.
|
||||
if (keyerLive) { stopAutoCall(); WinkeyerStop().catch(() => {}); }
|
||||
// Route the abort to whichever engine is active (was WinKeyer-only, so
|
||||
// ESC didn't stop the Icom or Flex keyer).
|
||||
if (keyerLive) {
|
||||
stopAutoCall();
|
||||
if (cwSourceRef.current === 'icom') IcomStopCW().catch(() => {});
|
||||
else if (cwSourceRef.current === 'flex') FlexStopCW().catch(() => {});
|
||||
else WinkeyerStop().catch(() => {});
|
||||
}
|
||||
if (!keyerLive || wkEscClearsRef.current) {
|
||||
resetEntry();
|
||||
callsignRef.current?.focus();
|
||||
|
||||
Reference in New Issue
Block a user