ubports / ubuntu-touch

Ubuntu Touch's issue inbox is now migrated to GitLab.
https://gitlab.com/ubports/ubuntu-touch
1.29k stars 110 forks source link

Less-Common Keyboards Do Not Work and, Instead, Lag the System #1183

Open N192K001 opened 5 years ago

N192K001 commented 5 years ago

After enabling the 'Filipino (QWERTY Baybayn)' keyboard from the drop-down menu's more-detailed 'Text Entry Settings' and activating the feature, the newly-typed text on the 'Notes' app is not Baybayin (like 'ᜄᜏ'). Instead, it's still in Latin-script (like with the standard 'Filipino' & 'English (US)' keyboards), and the system begins to lag. The same thing happens with the "Syriac' keyboard.

While it is a relatively-minor bug, I just wanted to make sure it was known, so it can eventually be addressed.

dobey commented 5 years ago

You are using a physical keyboard for this? The keyboard indicator's selection is for physical USB/Bluetooth keyboards, not the on-screen keyboard. I'm not sure why there would be any particular lag from this, though, so that may just be coincidental (at least it's very difficult to know without more info/debugging).

UniversalSuperBox commented 5 years ago

Hmm, does this sound like https://github.com/ubports/ubuntu-touch/issues/933?

N192K001 commented 5 years ago

@dobey On-screen keyboard was used. Not only does this cause lagging whenever the wrong keyboard-layout is chosen (like the general 'Chinese'), the drop-down keyboard-layout selector itself gets stuck, so de-selecting the erroneous layout and choosing any other option is impossible… until a reboot.

@UniversalSuperBox The lagging is similar, but the on-screen keyboard does not disappear. It continues to be 'English (US)', supporting the dobey's mention of the drop-down keyboard-selector is for external-keyboards only and is independent from the selector for the on-screen counterpart. (If only the on-screen option were equally as diverse as the external!)

Oh, wait. Is this feasible for now? If it is, perhaps this can be converted into a features-request… though it might also be good to disable/gray-out the drop-down keyboard-selector when an external-keyboard isn't connected, to prevent the system lag.

dobey commented 5 years ago

It does sound like #933 @UniversalSuperBox .

I've just added several layouts on my nexus 5 without an external keyboard, to of course no effect with the OSK, and have noticed no such constant switching or other issues either.

N192K001 commented 5 years ago

The problems happen only after selecting a layout from the drop-down keyboard-selector (with no external-keyboard connected). Choosing by any other means (from 'System Settings/Language & Test/Keyboard layouts' or from the globe-button on the on-screen keyboard itself) is problem-free.

There is no problem of 'constant switching'. On the contrary, the selected freeze-causing keyboard-layout displayed on the drop-down menu stays and cannot be switched until a reboot.

dobey commented 5 years ago

@N192K001 What do you mean by "stays" here exactly? The drop-down menu will not go away? Or you can no longer select a different option there?

Can you check the files unity8.log, dbus.log, and indicator-keyboard.log under the /home/phablet/.cache/upstart/ directory when this happens to see if there's any indication of what the actual problem is?

N192K001 commented 5 years ago

@dobey By "stays", I mean that the keyboard-layout is frozen in place as selected. I cannot replace the layout until after rebooting.

Here are the files requested: unity8.log dbus.log indicator-keyboard.log.1.gz indicator-keyboard.log.2.gz indicator-keyboard.log.3.gz indicator-keyboard.log.4.gz indicator-keyboard.log.5.gz indicator-keyboard.log.6.gz indicator-keyboard.log.7.gz

kugiigi commented 5 years ago

I wasn't able to replicate the issue on my Nexus 5 on edge but I did on my MX4 on stable although with a bit different observations. In my experience, the stutters start after switching the layout the second time regardless of which layout (I tried Amharic, German, Filipino). The stutter seems to be caused by memory leak because apps are getting killed and even the scopes. Restarting Unity 8 removes the stutters.

Side comment: I think the keyboard indicator should also include OSK layout settings as well because it's obviously confusing since it's very rare that users have external keyboards connected. Or I guess it's easier to just hide this indicator when no external keyboard is connected.

Side note: I'm a Filipino and trust me, 99.9% of us don't use Filipino keyboard layouts and instead use English (US) 😁

dobey commented 5 years ago

Well, the lines of Failed to connect to Mir: Failed to connect: not accepted by server in the indicator-keyboard log seem to indicate that it was restarted and failed to connect to Mir. So, the reason you can't select a different layout there any more, is because the indicator is no longer actually running (indicators in unity8 are a bit weird as the shell keeps things around even if indicator gets killed).

I'm not sure why it would be unable to connect to Mir though.