keymanapp / keyman

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

fix(core): implement ldml_processor::get_key_list() #12644

Open srl295 opened 2 weeks ago

srl295 commented 2 weeks ago

also

Fixes: #12298

@keymanapp-test-bot skip

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

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

srl295 commented 2 weeks ago

@rc-swag @mcdurdin would this need user testing?

also note that gap keys / unassigned keys are NOT included in the list.

mcdurdin commented 2 weeks ago

@rc-swag @mcdurdin would this need user testing?

Yes, I think it should have testing (all desktop platforms)

also note that gap keys / unassigned keys are NOT included in the list.

They probably need to be, otherwise they will fall back to default output (think Shift modifier for example). The rule we decided on for LDML keyboards was that if a layer is defined at all for a given modifier set, it is defined for all keys on that modifier set (even if it is no-op).

srl295 commented 2 weeks ago

@rc-swag @mcdurdin would this need user testing?

Yes, I think it should have testing (all desktop platforms)

also note that gap keys / unassigned keys are NOT included in the list.

They probably need to be, otherwise they will fall back to default output (think Shift modifier for example). The rule we decided on for LDML keyboards was that if a layer is defined at all for a given modifier set, it is defined for all keys on that modifier set (even if it is no-op).

rc-swag commented 2 weeks ago

@rc-swag @mcdurdin would this need user testing?

Yes, I think it should have testing (all desktop platforms)

  • [ ] OK. Will ponder the plan.

Following the test the found the issue in the first place will exercise the code. Not sure for the other platforms if there is a ready made user test.

srl295 commented 2 weeks ago

great, yes bringing in the test case from https://github.com/keymanapp/keyman/issues/12298#issue-2488657340 makes sense.

i think i could do this with a set of the modifier combinations, and then just expand on the 'vkey map' X modifier combinations.