Skip to content

Friday, 13 March 2026

Plasma Keyboard has interesting news to share!

Plasma Keyboard started out life as KDE's virtual / on-screen keyboard, and now it is evolving to also support tools and features for our physical keyboards.

FLOSS/Fund

Plasma Keyboard was granted funding from the FLOSS/Fund program's second tranche, for which we are very grateful! This funding has ensured we will be able to put some sustained effort towards refining and improving the project — and I have been doing just that for the past couple of months.

I began by getting more familiar with the codebase, lists of open bugs, and feature requests. I also did some refactoring and cleanup, improved the CI and MR review process, etc.

Diacritics

https://invent.kde.org/plasma/plasma-keyboard/-/merge_requests/83

The first feature I tackled is the first one that is for physical keyboards rather than virtual/on-screen keyboards: diacritics — the variants of a character that indicate a difference in pronunciation, such as ç, ñ, or ü. Though it is more than just diacritics, because it also supports common/popular symbols, such as ™, — (em-dash), →, ¡, ‽, ¼, ≥, ≠, etc.

Diacritics light theme screenshot

Diacritics dark theme screenshot

If you'd like an idea of which diacritics and symbols are currently included, you can check out the base mapping json. Further mappings are included depending on which language(s) you have enabled for Plasma Keyboard in your system settings.

This feature allows users to long-press a key on their physical keyboard to access a popup menu of diacritics and symbols related to that key, and select one to input it. This is a common feature on mobile keyboards, and I personally think this is a great improvement over using something like a compose key for the same purpose.

Selecting an option from the popup menu can be done multiple ways:

  • Pressing the associated keyboard number key shown below the option
  • Clicking on the option with the mouse
  • Using the arrow keys to navigate to the option and pressing Enter

This was pretty challenging to implement; I previously had no experience with Wayland protocols or input methods, so it required a lot of research, reading, learning, and experimentation to figure it out. Difficult, but rewarding!

One of the really cool things about Plasma Keyboard is that it is available as a Flatpak — so if you are adventurous and want to try out the diacritics feature before it is released to the stable version, you can do so with the nightly Flatpak builds!

flatpak install --user --or-update https://cdn.kde.org/flatpak/plasma-keyboard-nightly/org.kde.plasma.keyboard.flatpakref

Then simply enable Plasma Keyboard in System SettingsKeyboardVirtual Keyboard! 🤯 If you already have a version of Plasma Keyboard installed, a quick restart or log out/in might be needed for the new version to take effect.

Future Plans

In addition to the diacritics feature itself, I also laid the groundwork with it for future features that will make use of the same overlay/popup system and physical keyboard integration — stay tuned for more news on that! 😉

There are a bunch of other plans for features and improvements that we'd like to work on, for example: swipe typing, voice typing, making the on-screen keyboard movable and resizable, adding tests and improving performance and reliability, etc.

There is a lot of work to be done, and we are excited to keep improving Plasma Keyboard and making it even more powerful and user-friendly — just like the rest of Plasma! 🚀

If you are interested in contributing, please check out the project on KDE's GitLab: https://invent.kde.org/plasma/plasma-keyboard

Thursday, 12 March 2026

The latest Qt release, Qt 6.11, is just around the corner. This short blog post series presents the new features that QML tooling brings in Qt 6.11. You can find part 1 on new qmlls features here.

We are happy to announce the release of Qt Creator 19!

Release 19 for the Qt Creator IDE adds a minimap for text editors, easier configuration of remote devices, a basic MCP server, lightweight support for various project types for various languages, and many more improvements.

In two sessions, the Krita developers discussed what they want to work on in 2026, after Krita 5.3 and Krita 6.0 are released. That is, actually, one release, but one version is built with Qt5 and one with Qt6. The release is planned for next month.

Krita Sketch User Interface

Last year, Timotheé created a prototype for a mobile user interface for Krita (there is an APK you can install to play with). At the same time Wolthera finished her work on the new text shape and text tools. Both projects use the QML and QtQuick features of Qt to implement the user interface.

This year, we intend to work on replacing the tool option dockers with QML so we can use those both in the mobile and in the desktop version of Krita.

Alvin Wong experimented in 2025 with embedding an OpenGL based canvas inside a QML application. Dmitry and Carsten will continue that work and see whether we can use Krita's canvas to show an image inside Timotheé's prototype.

Agata has already started work to make the current user interface more suitable for tablet use.

Working with Files

There are a couple of plans we have with regards to file handling. On Android, working with the file sandboxing is seriously complicated, and we're looking into a solution for that.

The Krita .kra file format is pretty old by now (not 25 years, since it came into being a few years after Krita started being developed). It can, obviously, load and save everything Krita can handle, but it is not a particular fast file format. Carsten proposed to look into an SQLlite based file format. This could potentially mean that we could save the image after every change without the user noticing, making saving completely transparent.

Agata is already working on improving the autosave dialog. There is already a mockup for this.

Ivan is looking into sharing settings and resources across a user's devices, ideally in a cross-platform way.

Color Management

While Krita supports HDR displays, there are issues with the user interface. Wolthera wants to start improving there.

Now that Qt 6 includes support for color management, CMYK and higher-bit depth images, it should be possible to add color management to Krita's vector layers, and that's something we are eager to implement.

We also discussed Wayland. We now support color management on Wayland on Linux, but there are plenty of problems there. We decided to only support the KWin Wayland compositor that comes with KDE Plasma for now.

Performance

Dmitry wants to work on "region based updates", and has already started on that: this will make working with large images faster.

Ivan and Wolthera are interested in using vectorization in filters, possibly replacing the use of LittleCMS for color transformations.

Continuous integration

Continuous integration is how we build Krita: after changes, Krita is built automatically for every platform. Now that we've access to Windows ARM hardware, we need to find a way to extend our builds to Windows ARM, but the CI factory doesn't have an ARM builder, so we'd need to cross build.

We also intend to update all Krita's dependencies to the latest version, but only after we release Krita 5.3 and Krita 6.0. And of course, we intend to keep releasing bugfix and feature releases this year! For now, Krita 5.3 is the standard release, and 6.0 is considered experimental, but that should have changed by the end of the year.

Wednesday, 11 March 2026

Qt World Summit 2026 is moving to a virtual format. After careful evaluation with key stakeholders, we've decided to transition the event from an in-person gathering in Germany to an online experience.

Tuesday, 10 March 2026

gcompris 26.1

Today we are releasing GCompris version 26.1.

It contains bug fixes and improvements on many activities.

It is fully translated in the following languages:

  • Arabic
  • Bulgarian
  • Breton
  • Catalan
  • Catalan (Valencian)
  • Greek
  • Spanish
  • Basque
  • French
  • Hebrew
  • Croatian
  • Italian
  • Lithuanian
  • Latvian
  • Malayalam
  • Dutch
  • Polish
  • Brazilian Portuguese
  • Russian
  • Slovenian
  • Albanian
  • Swedish
  • Turkish
  • Ukrainian

It is also partially translated in the following languages:

  • Azerbaijani (87%)
  • Belarusian (83%)
  • Czech (98%)
  • German (93%)
  • UK English (96%)
  • Esperanto (96%)
  • Estonian (86%)
  • Finnish (92%)
  • Galician (97%)
  • Hungarian (97%)
  • Indonesian (98%)
  • Georgian (88%)
  • Kannada (85%)
  • Macedonian (81%)
  • Norwegian Nynorsk (89%)
  • Portuguese (85%)
  • Romanian (97%)
  • Sanskrit (97%)
  • Slovak (78%)
  • Swahili (88%)
  • Tamil (84%)
  • Chinese Traditional (85%)

You can find packages of this new version for GNU/Linux, Windows, Android, and Raspberry Pi on the download page. Also this update will soon be available in the Android Play store, the F-Droid repository and the Windows store.

Thank you all,
Timothée & Johnny

Some of you are following our works to improve connectivity of Qt-based apps. For example, in this blogpost we explained enhacements in the Qt's network stack for more efficient use of RESTful APIs starting with Qt 6.7. So, it might sound we are done with REST. Why bother about OpenAPI then? Well, while around 70% of all web services run on REST, around 20-30% of them use code generated from OpenAPI specification. How could Qt leave that out without helping our users to code less and create more? 

The new Qt 6 OpenAPI module will become available with Qt 6.11 as a Technology Preview. The module introduces the Qt 6 OpenAPI generator, which generates Qt HTTP clients using Qt Network RESTful APIs.

It is important to note here that an OpenAPI generator for Qt 5 has been originally developed by the OpenAPI community. We took it into Qt 6, refactored it, and extended it.

In this blog post, you will learn about the new OpenAPI generator in Qt 6 and see how the new module can be used to implement a simple, Qt-based ChatGPT client application using specification of its API provided in the OpenAPI format.

To make it easier to access the latest AI capabilities, we have updated pre-configured LLMs to newer variants.

Modern software is assembled from hundreds of components that organizations often did not write and do not fully control. Identifying those components reliably is becoming a legal requirement. This article introduces SWHID, an open standard for identifying software artifacts.

Tuesday, 10 March 2026. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.5.6.

Plasma 6.5 was released in October 2025 with many feature refinements and new modules to complete the desktop experience.

This release adds two months’ worth of new translations and fixes from KDE’s contributors. The bugfixes are typically small but important and include:

View full changelog