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

[UX] Keyboard: add A diacritics #4889

Merged
merged 5 commits into from
Apr 10, 2019
Merged

Conversation

Frenzie
Copy link
Member

@Frenzie Frenzie commented Apr 10, 2019

Screenshot_2019-04-10_09-36-49
Screenshot_2019-04-10_09-36-57
Screenshot_2019-04-10_09-37-42

@Frenzie Frenzie added the UX label Apr 10, 2019
@Frenzie Frenzie added this to the 2019.05 milestone Apr 10, 2019
@Frenzie
Copy link
Member Author

Frenzie commented Apr 10, 2019

I'll rework this slightly with the suggestion from #4887 (comment) to externalize the popup definitions.

@poire-z
Copy link
Contributor

poire-z commented Apr 10, 2019

Follow up to #4886 (comment):

The acute & grave accents happen to correspond to mnemonic gestures in this layout, but in the English/international keyboard I think the diaeresis makes more sense in the prime location than the more or less French-only circumflex

Well, I don't know how much you care about that, but not seeing the â between the à and á just look super strange. French or not french, these are accents. The other are dots and waves :)
So, will that really have to be tweaked in the french layout?

@Frenzie
Copy link
Member Author

Frenzie commented Apr 10, 2019

The diaeresis wins two times out of three, and the circumflex never does.

  1. Keyboard layout based. The correct order is èéë, with west and ê east.
  2. Gesture based. è is northwest, é is northeast, and up is a diacritic centered on top. Both ê and ë are, so neither makes more sense than the other. The is off-balance left, so it should be west.
  3. Usage based. North is a preferential gesture. The most prevalent character is é, while ë is a more prevalent character than ê.

1+2 = èëé
1+3 = èéë

At equal weighting, 1+2+3 = èéë! The ë is the result of giving double weight to 2, plus a judgment call.

"ē",
}
local en_popup = require("ui/data/keyboardlayouts/keypopup/en_popup")
local _at = en_popup._at
Copy link
Member Author

Choose a reason for hiding this comment

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

@poire-z Something like this?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes. std_popup.lua maybe?

Copy link
Member Author

Choose a reason for hiding this comment

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

Good point, except I'd rename std.lua to en_keyboard.lua. :-P

@poire-z
Copy link
Contributor

poire-z commented Apr 10, 2019

As a courtesy to technical users, will it be possible to have on a key on the first keyboard layout (. or ,) a popup with useful keys for styletweaks CSS or quick Lua hacking?

I'm thinking about { ! ; } for CSS (I have to hit Sym + Shift to get the { and back or half back to get the ; and back to get lowercase letters for properties and values, and then again Sym + Shift to get the }).
And possibly : and _ too, and the other parens/brackets if there is room.

@Frenzie
Copy link
Member Author

Frenzie commented Apr 10, 2019

I was planning to stick [ and ] on q and w.

And yes, the . obviously needs all the regular punctuation options.

tl;dr no worries ;-)

@Frenzie
Copy link
Member Author

Frenzie commented Apr 10, 2019

@poire-z std.lua renamed & ready.

For q and w, considering something like this:

  • q = ! [ {
  • w = @ ] }

@Frenzie
Copy link
Member Author

Frenzie commented Apr 10, 2019

For the ., possibly something like this:

- _ ¿
/ ( )
; . :
! ? ...

@poire-z
Copy link
Contributor

poire-z commented Apr 10, 2019

For q and w, considering something like this

Try to make it easy to associate it in fr_keyboard with a and z then :)
Dunno if n and m are more sticky across layout - also, q is stick to the left, so less practical to pan on its left.

For the ., possibly something like this:

For the dot at the bottom (as for the q at the left), it will be impossible to swipe down (resp left), and holdpanrelease left - so the chars on these sides will work only with tap.
So, unless you think about a solution to make these work, try to put the most interesting chars on the other sides.

In both your suggestions, ! is the loser :)

@Frenzie
Copy link
Member Author

Frenzie commented Apr 10, 2019

Anyway, I haven't really thought about those yet. Only the s has received a reasonable amount of thought:

Screenshot_2019-04-10_12-39-13

(I know, sizing isn't quite optimal there. One thing at a time.)

it will be impossible to swipe down (resp left), and holdpanrelease left

On holdrelease it taps the button you're on; it doesn't care about direction (which would be unintuitive, besides which the extra buttons would be inaccessible). Only swipes swipe.

@Frenzie
Copy link
Member Author

Frenzie commented Apr 10, 2019

I could fill up extra with sigma (Σ σ/ς), but that aside. I'm sure the basic problem will necessarily pop up elsewhere regarless of the s. ;-)

@Frenzie Frenzie merged commit 80953b5 into koreader:master Apr 10, 2019
@Frenzie Frenzie deleted the keyboard-a-row branch April 10, 2019 10:54
@Biep
Copy link

Biep commented Apr 11, 2019

I just updated my Kobo Aura One to v2019.04-9-gfd50dc3_2019-04-10, and now choosing "Book status" in the hamburger menu has KOReader exit irregularly (as reported by KSM).

@Frenzie
Copy link
Member Author

Frenzie commented Apr 11, 2019

I'm not really sure why you'd randomly post that here instead of in a new issue?

@Biep
Copy link

Biep commented Apr 11, 2019

It seemed connected - as the Book status has a keyboard (in fact I went there in order to try your enhancements), and it seemed not unlikely the bug was related.
But you are right, of course.
(BTW, it also happens when enterering the Book status when reaching the end of a document.)

@Frenzie
Copy link
Member Author

Frenzie commented Apr 11, 2019

Could you open a new issue with the crash.log included?

@Biep
Copy link

Biep commented Apr 11, 2019

I just did. #4899

@Biep
Copy link

Biep commented Apr 20, 2019

Could you add the following to the = key, please?

« ≠ »
< = >
≤≈≥

Thank you!

And are there gestures associated with the two characters on the top line of a 4-line layout? Such as a hacek?

@Frenzie
Copy link
Member Author

Frenzie commented Apr 20, 2019

Btw, the code behind the popup itself is somewhat complex, but I made the configuration very friendly.

    _z_ = {
        "z",
        northeast = "ź",
        northwest = "ζ", -- zeta lowercase
        west = "ž",
        south = "ʐ", -- voiced retroflex sibilant fricative IPA
        southeast = "ʒ", -- ezh, voiced palato-alveolar fricative IPA
        southwest = "ż",
    },

By <= you mean ≤ and ≥?

@Biep
Copy link

Biep commented Apr 20, 2019

Yes - I updated the comment.
And thanks for this great addition to the keyboard! It makes it so much more useful!

Frenzie added a commit to Frenzie/koreader that referenced this pull request Apr 20, 2019
Frenzie added a commit that referenced this pull request Apr 20, 2019
@Biep
Copy link

Biep commented Apr 21, 2019

Ah, you added it - thanks!

Happy Easter! Χριστός ἀνέστη! Хрїсто́съ воскре́се!
(Քրիստոս յարեա՜ւ ի մեռելոց: is still a challenge on your keyboard, though your friendly configuration would make it quite doable..)

And of course from those who have given more will be begged..:

Would it be possible to add arrow keys this way too? That swiping left or right on, say, the space bar, would move the cursor in that direction? If so, then NW and NE could mean delete left and delete right, respectively, freeing a key on the main keyboard. (The delete key(s) could still, with the arrow keys, be on a secondary keyboard.)

And would it be possible to have different keys for Shift when the main key doesn't change? Just as an example, for the space bar again, could shift+swipe left mean move back a word?

And concerning Shift itself: maybe just Shift could truly mean "shift" (make the next character upper case), wheras a N swipe on the key could mean "Caps lock", and a S swipe "Lowercase". (And if you start working on the Shift key anyway: W and E swipes could go to popular alternate alphabets, such as Greek and Cyrillic.)

Is there a specific reason to have the full words (e.g. "northwest") rather than the abbreviations (e.g. "NW") in the configuration? I can even imagine names that pictorially show the gesture: straight and crooked arrows, or sequences of arrows as in the multiswipe menu. That would be language-independent and allow multiswipes (though it would require quoting).

And to repeat my earlier question: are there gestures associated with the top row of keys in a four-row pop-up?

mwoz123 pushed a commit to mwoz123/koreader that referenced this pull request Mar 29, 2020
mwoz123 pushed a commit to mwoz123/koreader that referenced this pull request Mar 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants