Skip to content

Input handling in spring 2025

Wednesday, 14 May 2025  |  Jakob Petsovits

Since Akademy 2024, input handling improvements have been one of three KDE Goals with myself as a co-instigator. You may be wondering why you didn't see a series of dedicated blog posts on this topic, which I had hoped to write. Instead of taking accountability for a longer absence from Planet KDE, here's a quick recap of what's noteworthy and exciting right now.

Input improvements in KDE Plasma 6.4

Plasma 6.4 is scheduled to be released on June 17, 2025. The "soft feature freeze" is now in effect, which means we pretty much know which major changes will be included, only polish and bug-fixing work remains. On the input front, you can look forward to some quality of life improvements:

Nicolas Fella added an option to use a graphics drawing tablet in "Mouse" mode, also known as "relative mode". This allows you to use the stylus on your drawing tablet like you would use a finger on a laptop's touchpad.

Joshua Goins keeps updating his Art on Wayland website to keep track of current and past drawing tablet improvements. For this release, the Drawing Tablet settings page will now ask for confirmation after re-calibrating your device. He also added a visualization of pen buttons to the settings page, to make it clear which button you're configuring:

Improved display of the pen button mapping in the Drawing Tablet settings page

Xaver Hugl added a 3-finger pinch gesture for the desktop zoom accessibility feature, which is in addition to Ctrl+Meta+scroll or Meta-"+" / Meta-"-".

Nicolas Fella also implemented the accessibility feature called MouseKeys on Wayland. This lets you move the mouse pointer using numpad keys, and can be enabled in the Accessibility settings page.

Sebastian Parborg added an option to set "move file" as the default drag & drop behavior. This applies across all KDE software. By default, dropping a file in a different folder will continue to ask if it should be moved, copied or linked.

Christoph Wolk in particular just keeps fixing tons of bugs, including many input handling improvements. He's been tackling keyboard navigation issues, scrolling bugs, mouse hover, pasting, in all kinds of widgets and settings and apps. The list just goes on, here are some links from just the last two or so months: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. (There's more but you get the gist.)

Of course others are also actively fixing issues, like Akseli Lahtinen for custom tiling keyboard shortcuts and Dolphin file renaming. I'm frankly not able to keep up with everyone's contributions, but keep following This Week in Plasma to learn about the most notable ones.

I myself don't have much to show for Plasma 6.4. All my hopes for personally making an impact are staked on future work. I did, however, ask some very nice people if they're open to mentor projects within GSoC 2025. It appears this might pay off.

Funding for input handling improvements

Nate Graham keeps pointing out that we need more paid developers working on KDE software. Here are some popular ways to make this happen:

  • Donate to KDE e.V. to help with important infrastructure and engineering work
  • Get paid by companies like Valve, or governments, that want to use & improve KDE tech
  • Pay yourself with your hard-earned retirement income, then work on what you think is most important
  • Apply for grants from public benefit foundations and corporate initiatives

On that last bullet point, we recently received some nice funding commitments.

GSoC logo

Google is perhaps best known for its repeated abuse of market power, getting convicted for huge fines only to do it again in a slightly different form. They also run a program called Google Summer of Code (GSoC), which is more positive. Every year, numerous students receive a stipend to write Free & Open Source code over the summer, to the benefit of organizations like KDE, mentored by existing developers from the community. On May 8, Google announced the accepted projects for this year. KDE was assigned 15 student projects across a variety of apps and infrastructure efforts. One of these is particularly relevant to our Input Goal.

Starting in June, Yelsin 'yorisoft' Sepulveda will work on improving game controller support in KWin. Yelsin jumped right into the community by asking great questions on Matrix, learned about KDE development by getting several changes merged into Angelfish (KDE's mobile-friendly web browser), and already published an introductory blog post with more details about the project. We're excited to mentor Yelsin and get one of the oldest open Plasma bugs fixed in the process.

NLnet logo

NLnet Foundation is an organization that supports open software, open hardware, open data and open standards. At Akademy 2024, Jos van den Oever of NLnet held a talk and encouraged KDE contributors to apply for funding there and elsewhere. Unlike many other granting organizations, NLnet allows individuals to apply for comparatively small grants with very limited bureaucracy, between 5,000 and 50,000 EUR for first-time applicants. Last year, they already supported various improvements in accessibility and drawing tablet support in Plasma.

Natalie Clarius and I applied to NLnet following Akademy 2024. Our project would make multi-touch gestures configurable through System Settings, as well as implement stroke gestures (a.k.a. mouse gestures) for Plasma on Wayland. In April this year, NLnet approved this project together with many other open source initiatives. We've seen a lot of user requests for this functionality, so I'm happy to work on upstreaming this functionality going forward. We're currently ramping up our efforts - stay tuned for actual merge requests and UI designs.

What's also great is InputActions by taj-ny, which is a third-party plugin for KWin that provides customization for multi-touch gestures via text file. Its next release should include stroke gesture support as well. I'm glad that my prototype from last year was useful as a starting point for this. Getting code into upstream KWin and System Settings requires a different approach though, so it still makes sense for the NLnet project to go ahead.

NLnet approved a second KDE-related grant in the same batch, for Accessible KDE File Management by diligent Dolphin maintainer Felix Ernst. In addition to targeted improvements for Dolphin, this project will also benefit the KDE-wide Open/Save dialog, as well as settings for editing shortcuts. Felix with prior experience in accessibility and (obviously) Dolphin is ideally suited for this work.

You may be able to get NLnet funding too. Primary requirements:

  • Expertise in a given area of the KDE codebase that you want to improve.
  • Patience to sit down and write a detailed project plan.
  • Flexibility to wait for up to half a year for confirmation.

Note: Like all such foundations, NLnet has some favorite topics including mobile, accessibility, or federated internet infrastructure. If you're interested in this kind of funding for KDE work, feel free to ask me about more details.

Input at the Plasma Sprint

In late April I dropped by at the recent Plasma Sprint 2025 in Graz, which you may have seen in other posts on Planet KDE already. Among many other topics, we briefly discussed the direction of further input-related developments.

Previously, Xuetian Weng (a.k.a. csslayer, the long-term maintainer of the fcitx5 input method framework) proposed a unified way to manage keyboard layout, input methods, and other input related tools. The gist of the proposal is that each input method (IM) would be associated to a keyboard layout in System Settings. In the linked issue, he argues that this is a better fit for Plasma than the approaches of other platforms for configuring language, layout and input methods. I briefly presented Xuetian's proposal at the Sprint and there was a general consensus that this is a sensible way forward.

There was a question about how to deal with devices that don't have a keyboard connected to begin with. We considered some options and compared our thoughts with the actual keyboard hot-plugging behavior of a sprint attendees' Android phone. Same conclusion either way: each connected keyboard should correspond to a separate layout/IM selection, and the absence of a keyboard will likewise correspond to its own input method. Multiple input devices can be supported by switching configurations upon key-press or (dis)connect events. If we can implement this, it should turn out more versatile and still simpler than Plasma's current settings.

We also discussed the virtual keyboard prototype plasma-keyboard and its most important blockers for getting included in Plasma Desktop / Plasma Mobile. It looks like the major concerns have been captured in the issue queue already, so what's needed now is a developer to buckle down and fix them one by one. Also, testing in more languages.

KDE Needs You!

Lots of movement overall. That said, not all of these plans have someone actively working on it. We really do need more hands on deck if we want the Input Goal proposal to be a smashing success. If you are interested to work with the community on input handling, stipend or not, we can help you to help KDE. Drop by in #kde-input:kde.org on Matrix if you need mentorship to guide your contributions, MR reviews to get your patches landed, or any other kind of support.

Here's a small selection of efforts that would really benefit from your development chops:

  • Test and improve plasma-keyboard so we can ship it with Plasma.
  • Make Xuetian's proposal for unified keyboard layout and input method settings a reality. This can be split into smaller tasks:
    • Settings page changes
    • Quick-switching between input methods
    • Adapting fcitx5
  • Pave the way for speech-to-text, emoji input, and other small input helpers.
  • Confirm and/or fix any bug from this long list.
  • Anything input-related that excites you!

Let's get these gaps filled. Until next time. And don't forget to drop by at Akademy 2025 in Berlin for more Input Goal discussions!

Comments