Honor cw break_in setting for keyboard CW keying#2391
Merged
Conversation
- Add CW keyboard and MIDI controls (#2361) - KeyboardMapWidget: fix J tile mapping to Qt::Key_I - MainWindow: don't block CW/Space PTT shortcuts during slider lease - Honor cw break_in setting for keyboard CW keying
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cherry-picks @jensenpat's CW keyboard + MIDI controls work from PR #2361 onto a clean base, plus three follow-up fixes that came out of testing the cherry-pick locally.
Commits squashed in
m_lastCwPaddle*/m_lastCwMidi*atomic naming overlap by adopting the more descriptive_Paddle*names everywhere — option 2 from the original review.Qt::Key_I, so binding a shortcut to J in the editor selected I instead.s_sliderShortcutLeaseActivewhich blocked the momentary CW key handler and Space PTT for 2+ seconds. Splits the helper:textInputCaptured()for actual text widgets only,shortcutInputCaptured()keeps the slider-lease check for the QShortcut dispatch path.RadioModel::sendCwKeyand the iambic keyer's onPaddleEvent both wrapped each key in acw ptt 1...cw ptt 0envelope. That made break-in OFF a no-op (auto-PTT forced TX anyway) and killed the QSK hang time with break-in ON. Strips the auto-PTT in both paths so the radio's break-in setting decides TX behavior, matching SmartSDR.Verification
shortcut_manager_test,midi_settings_test,radio_status_ownership_testall pass.break_in_delay, slider drag no longer freezes CW shortcuts.Closes #2361.
Co-authored-by: jensenpat [email protected]
Co-authored-by: Codex [email protected]
Co-Authored-By: Claude Opus 4.7 (1M context) [email protected]