Skip to content

applets/manage-inputmethod: make it all about the virtual keyboard

This widget has a bit of an identity crisis at the moment. It's called "Input Method" but it's meant to control a virtual keyboard; its iconography and subtitles are specific to virtual keyboards, its "configure" action takes you to a KCM called "Virtual Keyboard". All of this would be very weird and out-of-place if used to control anything that isn't a virtual keyboard.

The widget also has a rather complicated interaction paradigm, doing no fewer than five possible things when clicked on, depending on the state:

  • No virtual keyboard configured -> open the Virtual Keyboard KCM
  • Virtual keyboard enabled and hidden -> disable it so it won't appear automatically when an input field supporting the textinput protocol is focused with a touch event
  • Virtual keyboard disabled and hidden -> enable it
  • Virtual keyboard enabled and visible -> hide it
  • Virtual keyboard enabled and hidden and a text field that doesn't support the textinput protocol is focused -> show it if tapped with a touchscreen, otherwise do nothing

This is very complex! And it doesn't do what is arguably the most common thing to want to do: just show the virtual keyboard when tapped or clicked.

This commit changes the widget to be a focused virtual keyboard shower-and-hider. Now, either clicking or tapping on it shows the virtual keyboard if it's hidden, and hides it when it's visible. No more weird experience of being unable to open the virtual keyboard with a click no matter what you do.

This commit requires kwin!3895 to work and uses new icons added in frameworks/breeze-icons!256 (merged).

BUG: 466948 FIXED-IN: 6.0

When the virtual keyboard is hidden When the virtual keyboard is shown
When_the_VK_is_hidden When_the_VK_is_shown

CC @teams/usability @marcdeop @apol

Merge request reports