Three Clicks to Close Keyboard Layout Selection

Hi!

When switching between keyboard layouts in the task bar, closing the layout selection requires clicking three times. I could not find any info on this elsewhere on the internet or on this here forum.

Note that:

  • Any additional clicks on the layout icon is another time I need to click the layout name in the menu in order to close it (i.e., if I click NB or FR in the video below twice, I need to select an option in the menu four times in order to close it, if I click NB or FR five times, I need to select an option seven times etc.)
  • Selecting a different option each time doesn’t change the result.

Issue video
You can see in the video that I am clicking three times, as the menu moves left or right the two first times before the third click closes the menu.

Expected result:
Clicking once is enough to select a keyboard layout and close the menu.
Actual result:
Clicking once is enough to select a keyboard layout, but closing the menu requires at least 2 more clicks.

Environment details

Device: Unibody MacBook Pro
Lubuntu version: 22.04.4 LTS

Other hardware
H/W path                   Device      Class          Description
=================================================================
                                       system         MacBookPro6,2 (System SKU#)
/0                                     bus            Mac-F22586C8
/0/0                                   processor      Intel(R) Core(TM) i5 CPU       M 520  @ 2.40GHz
/0/0/1                                 memory         3MiB L3 cache
/0/0/3                                 memory         256KiB L2 cache
/0/0/4                                 memory         32KiB L1 cache
/0/2                                   memory         32KiB L1 cache
/0/5                                   processor      Pentium 4
/0/5/6                                 memory         3MiB L3 cache
/0/5/8                                 memory         256KiB L2 cache
/0/5/9                                 memory         32KiB L1 cache
/0/7                                   memory         32KiB L1 cache
/0/a                                   processor      Pentium 4
/0/a/b                                 memory         3MiB L3 cache
/0/a/d                                 memory         256KiB L2 cache
/0/a/e                                 memory         32KiB L1 cache
/0/c                                   memory         32KiB L1 cache
/0/f                                   processor      Pentium 4
/0/f/10                                memory         3MiB L3 cache
/0/f/12                                memory         256KiB L2 cache
/0/f/13                                memory         32KiB L1 cache
/0/11                                  memory         32KiB L1 cache
/0/14                                  memory         8GiB System Memory
/0/14/0                                memory         4GiB SODIMM DDR3 Synchronous 1067 MHz (0.9 ns)
/0/14/1                                memory         4GiB SODIMM DDR3 Synchronous 1067 MHz (0.9 ns)
/0/1c                                  memory         1MiB BIOS
/0/100                                 bridge         Core Processor DRAM Controller
/0/100/1                               bridge         Core Processor PCI Express x16 Root Port
/0/100/1/0                 /dev/fb0    display        GT216M [GeForce GT 330M]
/0/100/1/0.1               card1       multimedia     GT216 HDMI Audio Controller
/0/100/1/0.1/0             input17     input          HDA NVidia HDMI/DP,pcm=3
/0/100/1/0.1/1             input18     input          HDA NVidia HDMI/DP,pcm=7
/0/100/1/0.1/2             input19     input          HDA NVidia HDMI/DP,pcm=8
/0/100/1/0.1/3             input20     input          HDA NVidia HDMI/DP,pcm=9
/0/100/2                   /dev/fb1    display        Core Processor Integrated Graphics Controller
/0/100/1a                              bus            5 Series/3400 Series Chipset USB Universal Host Controller
/0/100/1a.7                            bus            5 Series/3400 Series Chipset USB2 Enhanced Host Controller
/0/100/1a.7/1              usb2        bus            EHCI Host Controller
/0/100/1a.7/1/1                        bus            USB 2.0 Hub
/0/100/1a.7/1/1/1                      bus            BRCM2070 Hub
/0/100/1a.7/1/1/1/3                    communication  Bluetooth USB Host Controller
/0/100/1a.7/1/1/2          input10     input          bcm5974
/0/100/1a.7/1/1/3          scsi0       storage        Card Reader
/0/100/1a.7/1/1/3/0.0.0    /dev/sdb    disk           SD Card Reader
/0/100/1a.7/1/1/3/0.0.0/0  /dev/sdb    disk           
/0/100/1a.7/1/1/4          input8      input          PixArt HP USB Optical Mouse
/0/100/1b                  card0       multimedia     5 Series/3400 Series Chipset High Definition Audio
/0/100/1b/0                input14     input          HDA Intel MID Line
/0/100/1b/1                input15     input          HDA Intel MID Headphone
/0/100/1b/2                input16     input          HDA Intel MID SPDIF In
/0/100/1c                              bridge         5 Series/3400 Series Chipset PCI Express Root Port 1
/0/100/1c/0                enp2s0      network        NetXtreme BCM5764M Gigabit Ethernet PCIe
/0/100/1c.1                            bridge         5 Series/3400 Series Chipset PCI Express Root Port 2
/0/100/1c.1/0              wlp3s0      network        BCM43224 802.11a/b/g/n
/0/100/1c.2                            bridge         5 Series/3400 Series Chipset PCI Express Root Port 3
/0/100/1c.2/0                          bus            FW643 [TrueFire] PCIe 1394b Controller
/0/100/1c.3                            bridge         5 Series/3400 Series Chipset PCI Express Root Port 4
/0/100/1d                              bus            5 Series/3400 Series Chipset USB Universal Host Controller
/0/100/1d.7                            bus            5 Series/3400 Series Chipset USB2 Enhanced Host Controller
/0/100/1d.7/1              usb1        bus            EHCI Host Controller
/0/100/1d.7/1/1                        bus            USB 2.0 Hub
/0/100/1d.7/1/1/1                      multimedia     Built-in iSight
/0/100/1d.7/1/1/2          input11     input          Apple Computer, Inc. IR Receiver
/0/100/1d.7/1/1/3          input4      input          Logitech USB Keyboard System Control
/0/100/1e                              bridge         82801 Mobile PCI Bridge
/0/100/1f                              bridge         HM55 Chipset LPC Interface Controller
/0/100/1f/0                            system         PnP device PNP0103
/0/100/1f/1                            system         PnP device PNP0c02
/0/100/1f/2                            system         PnP device PNP0c02
/0/100/1f/3                            system         PnP device PNP0b00
/0/100/1f/4                            generic        PnP device APP000b
/0/100/1f/5                            system         PnP device PNP0c02
/0/100/1f.2                scsi1       storage        5 Series/3400 Series Chipset 4 port SATA AHCI Controller
/0/100/1f.2/0              /dev/sda    disk           500GB Samsung SSD 850
/0/100/1f.2/0/1                        volume         200MiB EFI GPT partition
/0/100/1f.2/0/2            /dev/sda2   volume         184GiB Darwin/OS X HFS+ partition
/0/100/1f.2/0/3            /dev/sda3   volume         280GiB EXT4 volume
/0/100/1f.2/1              /dev/cdrom  disk           DVD-R   UJ-898
/0/100/1f.3                            bus            5 Series/3400 Series Chipset SMBus Controller
/0/100/1f.6                            generic        5 Series/3400 Series Chipset Thermal Subsystem
/0/101                                 bridge         Core Processor QuickPath Architecture Generic Non-core Register
/0/102                                 bridge         Core Processor QuickPath Architecture System Address Decoder
/0/103                                 bridge         Core Processor QPI Link 0
/0/104                                 bridge         1st Generation Core i3/5/7 Processor QPI Physical 0
/0/105                                 bridge         1st Generation Core i3/5/7 Processor Reserved
/0/106                                 bridge         1st Generation Core i3/5/7 Processor Reserved
/1                                     power          Unknown
/2                         input0      input          Lid Switch
/3                         input1      input          Power Button
/4                         input12     input          Video Bus
/5                         input2      input          Sleep Button
/6                         input21     input          applesmc
/7                         input3      input          Power Button
2 Likes

Could it be that you have the same language added several times?.

I don’t think that’s it, but that’s to rule out it being the problem.

The keyboard state indicator that’s provided by default with supported versions of Lubuntu (as part of lxqt-panel) doesn’t even look like this. The chosen layout is shown as a two letter abbreviation. If you mouse over it, it will give more details. Clicking on it switches to the next layout. Right clicking on it offers configuration options. Nothing you can do to it results in it showing the dialog box that you show.

Let’s compare the most recent (this is just mousing over the widget):
image

with your video:
image

Certainly the look seems different. It’s conceivable you could change that. But the whole UI acting different? Not without different software.

Note also how the description of the Norwegian layout is different. This is also echoed in the the software you use to add and remove keyboard layouts, lxqt-config-input (Preferences → LXQt Settings → Keyboard and Mouse):

That said, what version are you using and what software is providing this widget? If I had to guess, you’re probably using an outdated version of Lubuntu from the old LXDE days.

3 Likes

Hi!
Thank you for your response. I just checked and it’s not that.
I assume that somehow adding the same layout several times would result in it appearing several times. It didn’t hurt to check, though.

Hi!
Thank you for looking into this.

The keyboard state indicator that’s provided by default with supported versions of Lubuntu (as part of lxqt-panel) doesn’t even look like this. The chosen layout is shown as a two letter abbreviation. If you mouse over it, it will give more details. Clicking on it switches to the next layout. Right clicking on it offers configuration options. Nothing you can do to it results in it showing the dialog box that you show.

That said, what version are you using and what software is providing this widget? If I had to guess, you’re probably using an outdated version of Lubuntu from the old LXDE days.

I installed Lubuntu 24.04.4 LTS a few months ago and it was already like that. I double-checked both the current version and the version of the ISO I used just to be sure. I did change to a more compatible display manager recently (from sddm to xdm), but I am positive that it was like this before I switched.

Certainly the look seems different. It’s conceivable you could change that. But the whole UI acting different? Not without different software.

I can’t recall having installed any specific software for this.

Note also how the description of the Norwegian layout is different.

I am not sure what you mean by “description”. “NO” is a generic language code for all varieties of Norwegian, while “NB” is specifically for bokmål Norwegian, but bokmål is the default in most contexts and nynorsk (the other written standard) doesn’t require a different layout. For all intents and purposes, NB and NO are the same.

This is also echoed in the the software you use to add and remove keyboard layouts, lxqt-config-input (Preferences → LXQt Settings → Keyboard and Mouse)

It seems to be the same with a slightly different aesthetic.

Sorry, I forgot to answer your question regarding what software provides the widget and I can’t seem to be able to edit my reply. I just checked and it IBUS 1.5.26. The settings page does say that this may conflict with the built-in layout settings, so I looked at IBUS:

There seems to be three different options for Norwegian. Clicking on “Norwegian Bokmål” gives a similar set of options as what you see in my previous comment.

On the way, I also found this:

Current configuration for the input method:
 * Default mode defined in /etc/default/im-config: 'auto'
 * Active configuration: 'missing' (normally missing)
 * Normal automatic choice: 'ibus' (normally ibus or fcitx5)
 * Override rule: 'zh_CN,fcitx5:zh_TW,fcitx5:zh_HK,fcitx5:zh_SG,fcitx5'
 * Current override choice: '' (Locale='en_GB')
 * Current automatic choice: 'ibus'
 * Number of valid choices: 1 (normally 1)
 * Desktop environment: 'LXQt'
The configuration set by im-config is activated by re-starting the system.
Explicit selection is not required to enable the automatic configuration if the active one is default/auto/cjkv/missing.

Yeah, so what you’re seeing there is iBus, which is not shipped with Lubuntu by default. Therefore, I’d report this as a bug against the package (ubuntu-bug ibus).

If you don’t need an input method editor but simply a way to switch between layouts, I’d just get rid of it and use the default setup.

Or if you only use the IME occasionally, but primarily just want to switch between the two layouts you seem to have defined, keep iBus but use the default indicator in the panel for your primary usage.

FWIW, fcitx is the IME of choice for Qt-based environments like LXQt/Lubuntu. You might want to try it instead of iBus.

3 Likes

I will do that and report back.

I ended up doing what you said. I removed IBUS with an apt command and found the widget for the default keyboard layout manager. I don’t know why it gave me IBUS out of the box, but now it works.

1 Like

We do not provide an IME by default. We used to. Many moons ago, it was iBus (before LXQt) and in the LXQt era, fcitx. We ended up removing it three years ago, so 22.04/Jammy was the first release that didn’t have it. It still isn’t there in the development release that will become 23.10/Ocular and, thus, it wasn’t there in 24.04/Noble. Indeed, using a normal install assuming a US English locale, neither iBus nor fcitx are installed (I just verified this).

It is certainly true that at this point, if we were going to install an IME by default, we would use fcitx. We would definitely not use iBus because of the GTK dependencies on an otherwise Qt-based system.

Now I know some language packs and such get installed dependent on the locale. It’s remotely possible that one of these may have some sort of dependency on an IME. Sometimes such dependencies are very general, where any number of actual software packages may fulfill them. In these cases, the package management software isn’t really smart enough to choose what might be most appropriate. That may have got you to having iBus with the default install.

Hopefully that clears up everything.

1 Like

It wouldn’t really make sense for me to use an IME, as I never type in any non-alphabetic scripts. I looked at fcitx since you mentioned it, but I don’t have any use for it personally. It’s good that there is a better option than IBUS, though, as I reckon many Lubuntu users need to type in languages that require one.

Yes, much better for you to use the keyboard indicator in the panel. Especially if all you want to do is click to get your keyboard layout. I mean, iBus and fcitx also can do this, but they come with a bunch of extra cruft you don’t need (the IME part).

Since it seems like you’re only using two keyboard layouts, there is all the more reason to go about it this way. If you had several layouts you picked from, I could see having a menu of options (like iBus provides) would maybe make a little more sense.

I should point out, too, that you can configure a keystroke to change the keyboard layout in lxqt-onfig-input. The list is long, but you can see the top of it here:

Those “while pressed” ones may be useful if you only occasionally use one layout, such as the case where you only use it to enter a word or two.

1 Like

I actually did this already! :smiley: I picked “both shift keys at the same time” because it’s easy and there is no chance of it conflicting with anything.

I’m happy that you’ve struck upon a good and workable solution!

We’ve really made an effort over the last few years to try to be more supportive of folks’ needs for different languages, keyboard layouts, input methods, etc. I understand it to a degree, but I truly don’t because I don’t really have personal experience. I read standard US English and type in standard US English on a standard US English keyboard using a standard US English keyboard layout. It can sometimes be problematic when it comes to helping people out. That said, if you have any other suggestions on what we can do to further improve things, I’m all ears!

2 Likes

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.