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

Home/End/PgUp/PgDn support (easy implementation) #2440

Open
navid-zamani opened this issue Apr 6, 2024 · 0 comments
Open

Home/End/PgUp/PgDn support (easy implementation) #2440

navid-zamani opened this issue Apr 6, 2024 · 0 comments
Labels
proposal A proposal for a new feature or an enhancement

Comments

@navid-zamani
Copy link

Feature idea

Motivation

.

The cursor keys are one of FlorisBoard’s greatest features, especially if placed in the bar above the keyboard. But one misses the other usual amenities to move through 2D character arrays (text) in bigger steps. And they are of course missing because of a lack of space.

But they could be implemented very easily, with probably five minutes of work:


Easy win goal

.

With normal keyboard keys (like A), they can be held for a short time, to open a popup with further keys (like æ, â, etc). This can simply be re-used for the cursor keys. Placing bigger steps of motion above (or below) the cursor keys.

  • The Up key would have a popup, with ↑PgUp above it, and ↑Home (actually Ctrl-Home) above that.
  • Down would have ↓PgDn and ↓End (actually Ctrl-End).
  • Left would have ‹Word (Ctrl-Left) and ‹Home (of line).
  • Right would have Word› (Ctrl-Right) and End› (of line).

One special case would be, that while the key is held, even when the popup opens, it is still auto-repeated until the finger is moved outside (e.g. Up would be repeated until the finger went to PgUp or outside of the popup.)
So no existing functionality is lost.

This would cover all the functionality even a pro needs, without being visible until needed, and without using any tech not already implemented in FlorisBoard.


Stretch goal

.

Alternatively, the whole thing could be reduced to the following even better design, but it would take more work:

Replace the cursor keys with a single button¹,
that would (without delay) open a square popup around the button,
With the cursor keys being at locations left/right/up/down from the finger, like on the numpad, but with the larger step buttons outside of that!
So it would be like “switching to higher gears” by moving the finger more outside, or like tilting a joystick even further.
(Ideally, with tactile feedback (vibration) when moving the finger over a “ridge” between e.g. the → and the Word› button. Feeling like a gear switch too! :)
The popup would close after lifting the finger, and only then.
Of course the single button would have to be placed in the center of the toolbar to leave room. (I don’t know if the popup is.allowed to be an overlay over the app displayed above the keyboard…)
But it would save a lot of space, and allow full cursor support while still having the toolbar free for other functions (like copy/paste, for which right now there is no space … unless it would also be combined into a popup.)

(¹ With the symbol being either a circle with a dot inside, like a “coolie hat” / joystick, or a cross with arrows at the ends. And vanishing when the popup opens.)


Addendum

.

(Finally, but not part of this request, is the wish for a togglable “selection” button. Tap it, then move the cursor, to precisely select stuff, and tap it again to copy. Hold it instead, to cut. And if you are not in selection mode, holding it pastes. But as I said: This is just mentioned here because it fits so well with the ideas above, that it is good to keep it in mind.)


Thank you

.

I really hope you can implement that and it is easy for you.
Having proper keyboard user functions (undo/redo, cursor, copy/cut/paste) is FlorisBoard’s killer feature for me. And the multi-clipboard with pinning is solid gold.
So thank you very much for this amazing keyboard.

@navid-zamani navid-zamani added the proposal A proposal for a new feature or an enhancement label Apr 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal A proposal for a new feature or an enhancement
Projects
None yet
Development

No branches or pull requests

1 participant