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

Type split improvements #1054

Merged
merged 6 commits into from
Sep 10, 2024
Merged

Conversation

h67ma
Copy link
Contributor

@h67ma h67ma commented Sep 10, 2024

After spending some time with PLTypeSplitSymbols, some quirks became annoying to me. This is an attempt to improve it (and some related layouts too).

Suggestions welcome. I'm fine with creating a new layout instead of modifying existing ones, if that's preferable.

Side note: it would be cool if the user was able to customize the layout without recompiling, using some sort of editor, or by loading a json/xml/whatever file.

Shifted swipe type is TWO_WAY_HORIZONTAL, which makes it impossible to
input '`' and '"'. Change it to FOUR_WAY_CROSS.

Fixes: dea3d03 ("Add PLTypeSplitSymbols (dessalines#851)")
Signed-off-by: h67ma <szycikm@gmail.com>
Letter positions in PLTypeSplit and PLTypeSplitSymbols layouts are based
on QWERTY, however a few letters reside in unexpected places, which
makes writing a bit unintuitive. The middle row is also unbalanced -
left half has 4 letters, while right side has 8 (granted, these are less
frequently used ones).

Move a few letters to more familiar positions:
* Move G to left half
* Move F to left half
* Move J more to the left
* Move ` and ~ elsewhere to make place for F and G (only
  PLTypeSplitSymbols)

Note that one letter is still in a "wrong" place: D, which should be in
the left half. However, it can't be moved as it's more popular than all
letters in the right side middle row (except K), and A and S are more
popular and they already occupy both available slots in the left half.

Signed-off-by: h67ma <szycikm@gmail.com>
Improve the layout by adding more symbols and tweaking the positions of
present ones:
* Add missing symbols: '#', '$', '%', '^', '&', '|'
* Rearrange some symbols to make '?' easier to type and create some nice
  pairs (like ':' and ';', '\' and '/')
* Replace the middle space with symbol selector, which inputs '.'
  without swipe (why would you need two spaces anyway?)
* Replace the bottom space with a symbol-less one, since all symbols
  are now nicely grouped on the key above
* Move the funny face emoji macro thing (?) to numeric keyboard to make
  place for standard characters. This affects all layouts that use
  TYPESPLIT_NUMERIC_KEYBOARD (and FRENCH_TYPESPLIT_NUMERIC_KEYBOARD too,
  for consistency)

Signed-off-by: h67ma <szycikm@gmail.com>
Swipe actions are hard to input on keys that are in the corner of the
screen. In *TypeSplit layouts, bottom left corner is occupied by numeric
keyboard switch key, which also has some useful text edit options on
swipes (copy, paste, undo, etc.). In contrast, the emoji key has some
rather uncommon actions on it (settings, input method/layout switcher).

Swap the two swipe sets in order to bring the more useful actions to a
much more convenient place. Main key functions are preserved (emoji,
numeric keyboard switcher).

Because in the numeric layout the swipe set has also changed, add the
now-missing text edit swipes to one of the spaces and remove the
settings action (now covered by bottom-left key).

These changes affect all *TypeSplit layouts.

Signed-off-by: h67ma <szycikm@gmail.com>
Remove shift mode from NumericTypeSplit and NumericFrenchTypeSplit
numpads, as it doesn't have any effect there.

Signed-off-by: h67ma <szycikm@gmail.com>
On *TypeSplit keyboards, the numeric keyboard is often the only way to
input most special symbols. However, those symbols are poorly organized.
The ones commonly found on the numeric row ('!', '@', '#', ...) are
found on seemingly random digit keys, making it hard to localize them.
Furthermore, the layout is cluttered, with many symbols packed on a
single key (in some cases up to 7 symbols on one key).

Move numeric row symbols to keys where the user would be expecting them:
'!' to 1, '@' to 2, '#' to 3, etc., with the exception of '(', which is
left on the side of the keyboard, so that the brackets lie in
symmetrical places. Each of the 8 symbols is activated by swiping
towards 5 (and '%' is swipe down).

Move a few symbols to one of the currently empty spaces on the left side
to declutter the numpad area.

Remove ',' and '.' from numpad, as they are already available on the
right side of the layout.

Move a few other other symbols to be more evenly spaced out and easier
to access.

Signed-off-by: h67ma <szycikm@gmail.com>
Copy link
Owner

@dessalines dessalines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine to me, I don't use these typesplit keyboards, so its up to yall to come to a consensus on them.

Run ./gradlew formatKotlin to pass lint.

@@ -72,6 +72,40 @@ val ABC_OR_NUMERIC_SWIPES =
),
)

val SPECIAL_ACTIONS_SWIPES =
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thx for abstracting these.

@dessalines dessalines merged commit 1b3224a into dessalines:main Sep 10, 2024
1 check passed
@kkard2
Copy link
Contributor

kkard2 commented Sep 17, 2024

Side note: it would be cool if the user was able to customize the layout without recompiling, using some sort of editor, or by loading a json/xml/whatever file.

yes, it would be nice, because this just broke my muscle memory

@h67ma
Copy link
Contributor Author

h67ma commented Sep 17, 2024

Side note: it would be cool if the user was able to customize the layout without recompiling, using some sort of editor, or by loading a json/xml/whatever file.

yes, it would be nice, because this just broke my muscle memory

Sorry about that. Honestly I didn't expect this would be merged so quickly and without any discussion.

@h67ma h67ma deleted the type_split_improvements branch September 17, 2024 20:20
@dessalines
Copy link
Owner

Either of you can discuss here and make fixes to it, and do a PR. I don't use those layouts so I don't know what changes aren't desirable.

@fililip
Copy link

fililip commented Sep 18, 2024

Side note: it would be cool if the user was able to customize the layout without recompiling, using some sort of editor, or by loading a json/xml/whatever file.

yes, it would be nice, because this just broke my muscle memory

Same for me, I updated to the latest version and realized I can't type as easily anymore, had to downgrade.

@dessalines
Copy link
Owner

PRs welcome. No one so far has tried to fix these layouts.

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.

4 participants