-
-
Notifications
You must be signed in to change notification settings - Fork 111
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
fix(core): implement ldml_processor::get_key_list() 🙀 #12644
Conversation
Yes, I think it should have testing (all desktop platforms)
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). |
|
great, yes bringing in the test case from #12298 (comment) 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. |
- just compare the key list to the key2.kmap table - check the keylist for all LdmlTestSource instances - no syntax needed Fixes: #12298
I thought you may have already done the expansion before the add keys part. In the issue for this PR I commented on this I stated that. #12298 (comment) The windows engine to my knowledge has no concept of OTHER. |
The |
@rc-swag you did state it in the issue. Will fix it.
I will note though, that even if I explicitly set the layer to be 'alt' modifier (and not other) I don't think I'm seeing the correct behavior (i.e. alt-q, alt-w) locally. I will work on the expansion, but as noted let's try to debug next wk |
@srl295 Ok I built the latest commit of this and tested a build of the keyboard in the user testing section. The alt (including RALT) key behaves correctly and ouputs a
|
- yes, expand 'other' to all possible combinations - use ALT and CTRL instead of RALT,LALT and RCTRL,LCTRL in the key list (reduce expansions up to 4x) Fixes: #12298
I missed this but this is great news. I've updated the code to do the combinatoric explosion as discussed. Passes tests (which do a spot check of the expansions.) Think this may be ready to go. |
@rc-swag should this test case now pass? ☝️ |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
It should. |
Changes in this pull request will be available for download in Keyman version 18.0.156-alpha |
Can we get a cherry-pick of this to 17.0 please? (A squashed pick might be good here, given 18 commits in this PR...) |
key2.kmap
table.also
Fixes: #12298
(tests from #12281 )
User Testing
Please paste in the following LDML keyboard source for testing:
Create a basic LDML keyboard, and paste in the source above. Compile the keyboard and its package. Use this keyboard in all the subsequent tests.
For all tests, pass the test if:
q emits 🅐
shift+q emits 🅑
ctrl+q emits 🅒
alt+q emits 🅓
alt+w emits 🅔
the following key combinations have no output:
TEST_DEBUGGER: Test the keyboard in the Keyman Developer Debugger
TEST_WINDOWS: Install the keyboard in Keyman for Windows, and test the keyboard in Notepad
TEST_MAC: Install the keyboard in Keyman for macOS, and test the keyboard in TextEdit
TEST_LINUX: Install the keyboard in Keyman for Linux, and test the keyboard in a text editor