Your desktop keyboard replaces “x” with “ọ”, so that when you type the “x” key, you actually get an “ọ” character. You then use the “]” key as a means to get an actual “x” character by typing the “]” key followed by the “x” key. (The “]” key is actually producing a “]” character, so it’s not technically a deadkey, but you’re using the combination of the two characters in the same way that a deadkey would work.)
For your mobile keyboard, you have put the “x” character as a longpress key on the “ọ” key (which is in the position that “x” would be on a QWERTY keyboard). That is a reasonable place to put this character (which I assume is not used in Obolo, except for English loanwords). Therefore, you don’t really need to duplicate the way that the desktop keyboard produces the “x”.
As to your question, I’m not sure exactly what interaction isn’t working the way you intend, but here’s what I tried. Since you really only need one deadkey (that is, you don’t need to treat the key you’re using as a deadkey differently for the default, shift and caps layers), I changed your three rules to all generate dk(1). Then I changed the three rules producing “x” or “X” to all use dk(1). This seemed to work for those cases. So, if you want to keep the deadkey on your touch layout, this is the approach I’d suggest.
@katelem I’ve looked at the code and what I suggested before doesn’t seem to work now. Perhaps that’s because I upgraded to version 16 of Developer. If I replace dk(1) with "[X]" in all the rules I listed in the Nov2022 post above, I get the intended result (although with the [X] showing up on the screen).
But I really think that you (and your users) will be better off if you remove the deadkey from the mobile layout (along with all the deadkey-related rules in the .kmn file), since there’s already a provision using longpress keys to type all the original letters. This will make the keyboard simpler.
As much as I’d like to dig into this more, I really don’t think that it’s a good use of time.
The deadkey was working well before recent updates. I will remove the deadkey but I will like you (Keyman) to improve the pop-up delay. Compared to other keyboards, it usually takes longer for a longpress key to come up. That slows down typing. That’s why deadkey is preferred in fast typing.
I will also like to wait a little for the longpress “hint” feature to be implemented before removing the deadkey so users transit smoothly.