8VIM icon indicating copy to clipboard operation
8VIM copied to clipboard

Double tap circle to insert a period.

Open BloodRaven0 opened this issue 2 years ago • 11 comments

This feature is present in most other keyboards (double tap space to insert period and a space after it) and will help new users get used to the keyboard faster. Furthermore, the period is currently too hard to insert for such a commonly used symbol - you have to make a full circle. Instead if it's on double tap of the central circle (space), another symbol could take its current place, like : ; " & _

P.S. I'm a new user and it took me a good two minutes to write only the title 😅 Love the keyboard tho, keep working on it!

BloodRaven0 avatar Mar 23 '22 07:03 BloodRaven0

Sometimes I need to input multiple spaces, for indenting or aligning text. This feature would get in the way of that.

If a feature like this is added, it'd be great if there was an option to disable it :)

levigutt avatar Jun 17 '23 23:06 levigutt

How about this: If you finalize the letter by moving from the center to the bottom before lifting the finger, it will undo the last space and insert . ?

Sadly I think this would break custom inside_circle/bottom/no_touch mappings, but maybe it's worth doing so, because it would feel very natural to me.

martin-braun avatar Jun 19 '23 05:06 martin-braun

I do this when I don't want a trailing space 😅

levigutt avatar Jun 19 '23 06:06 levigutt

@levigutt You are right.

Correction: C-B-C could insert . , this actually work. You don't need any app changes for that, see this mapping:

    - movement_sequence:
        - inside_circle
        - bottom
        - inside_circle
      lower_case: .
      upper_case: .

Unfortunately, my suggestion would clash with the suggestion to have at least two cells in the movement, and we definitely should keep this suggestion up. Otherwise, you would accidentally triggering dots that you might not want to print in the first place.

martin-braun avatar Jun 19 '23 10:06 martin-braun

Ok, so I tried to map these:

    - movement_sequence:
        - no_touch
        - bottom
        - inside_circle
      lower_case: .
      upper_case: .
    - movement_sequence:
        - no_touch
        - bottom
        - inside_circle
        - bottom
        - no_touch
      lower_case: .
      upper_case: .
    - movement_sequence:
        - no_touch
        - bottom
        - inside_circle
        - bottom
        - inside_circle
      lower_case: ","
      upper_case: ","
    - movement_sequence:
        - no_touch
        - bottom
        - inside_circle
        - bottom
        - inside_circle
        - bottom
        - no_touch
      lower_case: ","
      upper_case: ","

The idea is that you write your word, but go into the bottom cell, lift your finger to not insert any space, then touch the bottom cell and move up into the center, lift your finger and it would insert a dot with a final space.

Unfortunately, 8vim seems to disallow this map for any reason. @flide is there a reason to disallow B-C maps? Yes, I know L-C, T-C and R-C are blocked, since they are reserved, but it seems B-C is not used and blocked for future use only?

Maybe it would make sense to give the user a quicker way to insert dots and commas in the same way I presented above? I also think a faster method to insert . is needed for chat flow with the keyboard.

martin-braun avatar Jun 19 '23 11:06 martin-braun

If your map happens to be a subset of an already defined map, it is considered invalid.

flide avatar Jun 19 '23 11:06 flide

@flide Ok, I get it, because the center cell doesn't require me to lift a finger, so it will not accept my map, because there is something bigger that could come. My comma keymap is just an example to this. Now I simplified it to:

    - movement_sequence:
        - no_touch
        - bottom
        - inside_circle
      lower_case: .
      upper_case: ","

There is no other movement sequence starting with no_touch/bottom/inside_circle, but it still doesn't work.

Screenshot 2023-06-19 at 13 50 28

martin-braun avatar Jun 19 '23 11:06 martin-braun

I think your map clashes with the movement to move between layers

flide avatar Jun 19 '23 12:06 flide

@flide Ah, just discovering layers. Here are my thoughts:

  • To type a letter from the 2nd layer you have to do B-C-B-C-..., but wouldn't B-C-... already be enough to start?
  • My keymap doesn't feature a 2nd layer and I don't really need that. It would be nice if B-C was available to map in that case.
  • The reason why I would prefer not to use layers is, because they interrupt the flow by requiring to lift a finger, this is not so nice mid-words.

But independent from your response, my suggestion to hard-code this is useless now, I still would enjoy to get access to B-C to use it for punctation.

Thank you.

martin-braun avatar Jun 19 '23 13:06 martin-braun

I've made some experiments here The idea is that one could iterate among several punctation (e.g. " " "." and ". "). One could have the same punctuation both with space and without, and have multiple spaces.

In the current branch this list is static: " ", ". ", ", ", "? ", ".", "! ", ": ", "@"

For example, clicking twice produces ".", while clicking 5 times produces "." without space (useful for entering URLs).

In in the yaml file, we could make this list configurable and disable this functionality.

guancio avatar Aug 01 '23 19:08 guancio

Are there any intentions to include @guancio 's idea? I find it quite helpful.

embie27 avatar Apr 05 '24 10:04 embie27