keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
367 stars 102 forks source link

fix(web): Fix layout for subkey menus with unusually-sized keys #11266

Closed ermshiperete closed 1 week ago

ermshiperete commented 2 weeks ago

The previous code didn't check that the keys we put in a subkey menu actually fit within the width of the osk. Additionally the subkey menu was limited to two rows. This change checks the total width of the keys in a row. If it gets too wide we continue in the next row.

Also update the diacritic_rota test keyboard by adding two longpress menus:

Already existing is the longpress on .. Since the base keys are wider they won't fit in one row. Keyman is expected to display them in two rows.

Fixes #10126.

User Testing

All the tests below can be done with the "Test inline OSK (# 5665)" test page from the KeymanWeb Test Home page ("View Keymanweb website-oriented manual test pages." link).

On the "Test inline OSK (# 5665)" test page select the "English - Diacritic 10-key Rota" keyboard and display the iOS OSK by clicking on the the "setOSK(iOS)" button.

Tests

TEST_MONSTER:

TEST_MANYKEYS:

TEST_TWOROWS:

keymanapp-test-bot[bot] commented 2 weeks ago

User Test Results

Test specification and instructions

Test Artifacts

jahorton commented 2 weeks ago

On the punctuation key:

image

Each subkey is displaying with the same width as what's used for the base key, though with thinner padding between each.

An alternative approach would be to define the 'standard' width as ~ 1/10th the keyboard width, since most of our keyboards are ten keys wide. Just noting the difference here, as it has to do with default width. I suppose there is a reason we never did that in the first place.

jahorton commented 2 weeks ago

For "Many Keys":

image

Yup, that would indeed be "many, many" keys. They all appear to be properly functional and responsive to input; glad to see that part worked out well.

Just thought the screenshot might help.

bharanidharanj commented 1 week ago

Test Results

keyman-server commented 1 week ago

Changes in this pull request will be available for download in Keyman version 18.0.23-alpha