Musescore attempts to use IMEs even when the users are not entering texts

• Mar 31, 2020 - 13:15

This is a hard-to-explain bug, so pardon me for the lengthy description:

Musescore attempts to use IMEs even when the users are not entering texts, which leads to disabling of shortcuts. The only reliable way to re-enable them is to restart the program.

As I am Taiwanese, I'll use the Chinese (Zhuyin) keyboard layout to explain the bug. The bug also appears when using some other IMEs too.

First, a brief explanation of how the Zhuyin IME works.
Since there are way too many Chinese characters to fit in a keyboard (obviously), we first type what sound the character makes, and then choose between homophones if necessary.
In Taiwan, we mostly use a Chinese (Zhuyin) IME to do that. For example,
'a' corresponds to 'ㄇ', a symbol that represents the /m/ sound.
In the same way,
'u' is 'ㄧ'/i/,
'0' is 'ㄢ'/an/, and
'4' is the falling tone.
So, when one types '麵' /mian4/, they type "au04" and choose the right one from the many characters that are all pronounced /mian4/ by pressing the space bar.
Also, the IME first stores the character one type to a buffer, so that we can choose from the homophones later.

Now the bug:
Musescore tries to use IMEs even when the users are not entering texts.
For example, when I want to enter a note A in Zhuyin keyboard, I press A,
but Musescore reads 'ㄇ' instead and does not enter a note A.
Since 'ㄇ' doesn't correspond to any shortcut, it goes into the buffer.
(One can confirm this by typing "au04" in Zhuyin input mode in Musescore and press the space bar, and observe that they can choose from different characters.)
This, somehow, cause Musescore to disable 'A' as a shortcut to enter the note A.

Once a shortcut is disabled, there seems to be no way to re-enable it other than restarting Musescore. Switching to the English keyboard doesn't help. Pressing backspace to clear up the buffer does work sometimes, but I've tested the bug under many conditions, and this is not a viable solution to every case.

One can prevent the disabling, though, by adding corresponding CJK letters to the shortcut.
For example, if I add 'ㄇ' to the shortcut of "Enter the note A", I can then use the shortcut in Zhuyin input mode.
Of course, the problem with this method is that there are too many shortcuts to fix.

As far as I can tell, the following IMEs, cause the problems:
Chinese (Zhuyin), Japanese (Kana), Korean (2-set Hangul)

The following does not cause the problem:
Chinese (Pinyin), Japanese (Romaji)

OS: Mac 10.14.6
Musescore Version: 3.4.2


This is probably not easy to fix.
When using Chinese Pinyin IME (in Chinese mode), input is also loaded to a buffer, so it doesn't invoke the shortcuts, but this no longer happens when switching to English mode or an English-based IME. One difference between Pinyin IME and Zhuyin IME is that Pinyin IME doesn't alter the character the user inputs, 'a' is 'a', 'e' is 'e', etc., since Pinyin also has these characters, whereas Zhuyin IME changes the character. From what I know, it's hard for MuseScore (or other programmes) to read the right input because the source it receives has already been changed.

Do you still have an unanswered question? Please log in first to post your question.