-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve keyer: unify key handling and add graceful closing of keyer window #431
Conversation
Wouldn't it be more intuitive to have |
Which key do you mean? |
Sorry, markdown/html ate it... |
Would be fine for CW, but it does have a meaning for digimodes. |
Ok, understood - perhaps it could be both "Type message and hit enter to send" would be quite natural I'd think |
Checked the code: enter is mapped to space (newline is send by | (pipe)). |
Just some comments:
Position of special keys like In contrast the suggested '' looks quite standardized. If not applicable how about something like 'KEY_DOWN' arrow - like 'bring the keyer window down'?
Was kept from Rein's old TLf versions (just had a look into 0.9.10).
Could work. F1 mostly used to just call the other station in S&P, so F6 means you have to change your standard routine (I know it can be done by simply pressing Enter-key, but I remember discussions with hams using only the F-keys).
Which one? a) having SEND_DE respected in both fields or b) hardcoding F1 to use F1 and F6 to not use it? If b) we could drop the SEND_DE keyword completely. |
Code looks good. Only question: What do we gain by using separate 'keyboard_mode'? |
Added closing on enter in CW mode. Using enter to close keyer windows it pretty logical. One just shall not "overdo" hitting enter as once back to call/exhg input can could inadvertently execute some unwanted action (logging a not yet complete QSO, etc). |
Re SEND_DE: my preference in a), so F1 would send "DE " in both input fields. But b) would be also fine: stations calling with DE are very rare. |
Re keyboard_mode: originally keyboard mode (=using keyer window) was a standalone mode with it's own key handling. The mode was temporarily overwritten when in keyer and then restored. This caused a minor discrepancy as F1 behaved differently from the normal input mode (CQ vs. S&P). |
Without that mapping the display of the keyer windows gets garbled (cursor switches to next line to border of the window). We can drop the mapping for the TX but should keep it for display (or use some more obvious character to show the line break).
Ok, I would say lets stay with a). That way input and exchange field have the same behaviour and prepending DE stays optional. Wrt keyboard_mode: Thanks for explanations. Makes sense. |
Added closing on cursor down. Now we have a lot of options... ;-) I see the point regarding mapping enter key. For the time being I'd leave it as is. It needs a more thorough testing with Fldigi. Will update the docs as soon as code is stable. |
1. Should be merged in. |
Documented Enter too. And trying to avoid line break on the hyphen in Ctrl-K/Alt-K. |
(this is still work in progress, comments are welcome)
My motivation was twofold:
provide a single-key alternative to close keyer window without stopping keying. This allows faster typing of additional messages. No need to press Ctrl-K for a graceful exit. The new closing key is ` (grave accent or back tick) that is located below Esc on the US keyboard.
allow use of all F-key, Alt-key messages, plus keyer related other keys (speed up/down, weight, tuning) uniformly in all input fields: call input, exchange input and keyer window. This allows also removing code duplication.
"Keyboard" mode had to defined as an additional extension to CQ/S&P (as opposed to an standalone state), as some keys behave differently if one was in CQ or S&P mode.
tune() was moved to keyer() as the common handling is located there.
There is one issue: the
SEND_DE
(=F1 sends "DE " in S&P mode) seems to affect call input field only. In exchange input field the plain "" is sent. Not sure if this was deliberate or was simply forgotten.With the common handling it's technically much easier to send in both cases "DE ".
If the user still wants to send their bare callsign it is always possible using F6.
My suggestion is take this change of
SEND_DE
handling as a bug fix.