Closed snomos closed 2 months ago
@albbas can you test this on an Android phone? Use the Divvun Dev Keyboards app.
@albbas ? ^^
Confirmed. Newly installed Divvun dev keyboard, Android version 13 on a Motorola Edge 30 pro (XT2201-1).
@albbas:
0.2.3 dev - Still a problem
0.2.1 - Works
@snomos Hi, do you still have this problem on 3.2.1 and 3.2.0?
Is still still an issue with 0.2.4 of divvun-dev-keyboard?
Still a problem on 0.2.4 on my phone
Dev notes:
Dead key transforms weren't exported for the android builds in kbdgen. They are now in this branch, https://github.com/divvun/kbdgen/commit/e692d14f5ae0bedf105946d3e1bd4bcbd220a391
However.
The latin:deadKey="True"
params needs to be set on the dead keys for each language. That's done in kbdgen.. Or rather, it should be done in kbdgen.
app/src/main/res/xml/rowkeys_tsuutxina1.xml
<merge xmlns:latin="http://schemas.android.com/apk/res-auto">
<switch>
<case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted">
<Key latin:keySpec="ʼ" latin:keyHintLabel="1" latin:additionalMoreKeys="1" latin:moreKeys="q,Q" />
<Key latin:keySpec="W" latin:keyHintLabel="2" latin:additionalMoreKeys="2" />
<Key latin:keySpec="E"
latin:keyHintLabel="3"
latin:additionalMoreKeys="3"
latin:moreKeys="Ë,É,È,Ê,Ẽ,Ē,Ẹ,Ė,Ǝ" />
...
<Key latin:keySpec="¯" latin:deadKey="True" />
</case>
...
Run the kbdgen and then manually add the deadKey param for the "¯" key, and with the new transforms, the dead keys work.
Note!
When combining the the dead key with non specified characters, such as s
- the keyboard crashes. Not sure how this used to be handled. Seeing as how the program explodes, I'm inclined to believe the kbdgen should be generating something more that it isn't right now.
This is where the crash occurs if you combine ¯ with (for instance) s
@zoomix:
When combining the the dead key with non specified characters, such as
s
- the keyboard crashes. Not sure how this used to be handled. Seeing as how the program explodes, I'm inclined to believe the kbdgen should be generating something more that it isn't right now.
The expected output is:
s
in this case@zoomix deadkey data should be read from a json file, cf
Not sure how the JSON file is handled in the Rust version of kbdgen
, but here is the old Python code for generating the layout:
https://github.com/divvun/kbdgen-archived/blob/main/pysrc/kbdgen/gen/android.py#L269-L295
It is possible that deadkeys never were implemented correctly since the code is using transforms but that's at least a first step: see if the dead keys themselves actually work.
Alrighty. Thanks!
I've published a new version of dev-divvun - 0.2.5. Looks like it's working to me.
Two things I noticed.
I think I found the Tsuutʼina bug. 0.2.6 is building.
This is fixed.
Instead I get a sequence of accent + base letter. Tested with latest beta (2.99.0) on a Samsung 9" pad.