I have set up a keyboard with the following rules:
store(tone) "^ˇ´`˝" store(dia) U+0302 U+030C U+0301 U+0300 U+030B any(tone) + [RALT K_LBRKT] > 'ɔ' index(dia,1) any(tone) + [K_E] > 'e' index(dia,1)
The rule with “e” works as I think it should, turning pre-typed tone markers into diacritics (´ + e > é, etc).
However, the rule with “ɔ” works in some environments (in debug mode in keyman, and in ms word), while it results in “´ɔ́” elsewhere (in test mode in keyman, and in paratext). I cannot see that there should be any difference between the two rules - but at any rate, I would expect them to produce the same errors in all apps.