Julow / Unexpected-Keyboard

A lightweight virtual keyboard for developers.
GNU General Public License v3.0
1.25k stars 168 forks source link

Circle and round trip gestures #640

Closed Julow closed 1 month ago

Julow commented 1 month ago

This implements clockwise/anticlockwise circle and round trip gestures inspired by Messagease.

The circle gestures start after a small threshold to avoid making the regular swipe too hard to aim.

The gestures do:

alotbsol555 commented 1 month ago

this sounds like a really great addition, thank you!

anyway, one thought because you mentioned messageease and the PR should make "uppercase more accessible" as in #158:

in messageease-like layouts most of the letters are on the side keys and not on the center keys. therefore, uppercase is only more accessible for a few center keys, because fn is applied for the round trip gesture. for these layouts it might be more convenient to apply shift for the round trip gesture.

are you planning to add some settings (off/shift/fn) for all the new gestures?

this should in no way hold you back to merge the PR as it is currently!

Spike-from-NH commented 1 month ago

Almost makes the SHIFT key unnecessary! I dabbled with the round-trip gesture but triggered auto-repeat. Should I get more proficient or experiment with the timings in settings? or should you disable auto-repeat for swipes?

alotbsol555 commented 1 month ago

just tried this out and I like it a lot!

all gestures work as described. the round trip gesture is a lot easier on messagease-like layouts with larger buttons, but if you are used to smaller qwerty-buttons this should be no problem at all.

after playing around some time, I noticed that gestures are always applied to the basic key, no matter if this key is currently shown. for example: press Fn and the a-key becomes æ. next do the shift gesture on æ. I would expect to get Æ, i.e. the same as when shift ane fn are both activated without gestures. but the shift gesture on æ results in an A. is this intentional?

it's the same for the fn gesture on A, which currently gives æ instead of Æ.

I don't think gestures should be simply deactivated in these bothe cases.

further, I think it would be best, if the fn gestures on æ or Æ would result in a or A respectively, i.e reverse fn. finally, the shift gesture on A or Æ should result in a or æ respeectively. if reversing is too confusing, you could also deactivate the fn gesture when fn is active and the shift gesture when shift is active.

I hope this was not too confusing with all the possible combinations, but I hope you get the general picture.

Julow commented 1 month ago

Thanks for the quick feedback!

in messageease-like layouts most of the letters are on the side keys and not on the center keys. therefore, uppercase is only more accessible for a few center keys, because fn is applied for the round trip gesture. for these layouts it might be more convenient to apply shift for the round trip gesture.

Good point! I changed the clockwise circle and the round trip gesture to apply Shift with a fallback on Fn if that did nothing. The anticlockwise circle now does nothing but I intent to make it configurable in layouts.

I dabbled with the round-trip gesture but triggered auto-repeat

The round trip is intended to be a short and quick swipe then back to the center. Do you have a very short repeat time ? The circles are also intended to be small: less than 1/5 of a turn.

I noticed that gestures are always applied to the basic key, no matter if this key is currently shown. for example: press Fn and the a-key becomes æ. next do the shift gesture on æ. I would expect to get Æ, i.e. the same as when shift ane fn are both activated without gestures. but the shift gesture on æ results in an A. is this intentional?

That's fixed, thanks!

For the reversing, I'll leave that for an other time to not delay the release too much. It remains that the gesture do not work well with intermediate characters in compose sequences but that'll also be for later.

alotbsol555 commented 1 month ago

cool, looking forward to the release ;) i think it would be a good idea to include the gestures in the launcher app video…

Julow commented 1 month ago

Many thanks for the feedback :) I'll merge as-is and leave updating the video and the other improvements to possibly before next release but more likely after.