Skip to content
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

First-up chord send for keyboard machine #1611

Merged
merged 3 commits into from
Sep 26, 2023

Conversation

user202729
Copy link
Member

@user202729 user202729 commented Jun 27, 2023

Summary of changes

See title.

Refer to http://plover.stenoknight.com/2021/09/qmk-extensions-for-hobbyist-stenoboards.html for some detail what first-up chord send is -- basically this allow you to, e.g. if you have STPH-G bound to [→] ({#Right}{^}), then you can hold down STPH and repeatedly press -G to press [→] multiple times.


Later it may be useful for things like "repeatedly send a chord with frequency X if it's held for longer than time Y", so making a check box doesn't feel like the best idea.

Currently it gives an error (that can only be fixed by clicking the refresh button) if both options are checked. Maybe it's better to either make a combo box or make the GUI automatically untick the other button if one is ticked (this may be confusing though)?

There's a quirk: currently if I hold down PHRO, then press -LG repeatedly, it should toggle the machine repeatedly, but the problem is it deletes 2 characters on each subsequent enable (when the other keys are not released then somehow the un-suppress does not "register", not sure). I'm not sure what the situation is on other platforms, but if it is then some modification would be in order.

Pull Request Checklist

  • Changes have tests
  • News fragment added in news.d. See documentation for details

@Robberduckzilla
Copy link
Contributor

Robberduckzilla commented Jul 16, 2023

Edit: I am testing this on M2 Mac, looks like it works with some quirks around the undoing strokes.
When I use first-up and my mac's onboard keyboard for steno, and type PHRO-LG/-LG/-LG, (keystrokes: erfv/lo/lo/lo) I get the o+l characters output as if non-steno, and then plover removes them as part of the toggle.

If I only first-up one of the L or O keys, plover removes just one key (so I will get an O typed out, then plover will backspace it).

If you first-up a different key to the one last pressed (e.g. PHRO-LG held, and then alternately releasing L and G), plover will backspace previous words/keys/entries. That seems to be due to how backspacing works for multistroke words, and I'm not sure that can easily be solved without reorganising the logic of how plover stores and backspaces strokes.

(Edited comment because I'm an idiot and was testing with a Uni4 with onboard first-up until now)

Generally speaking though, this is absolutely brilliant - great job!

@sammdot
Copy link
Member

sammdot commented Sep 26, 2023

Looks good! I'm unable to reproduce the issue above. Will merge, and if anything comes up we'll resolve it then.

@sammdot sammdot merged commit 24b3190 into openstenoproject:master Sep 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants