Get current language input layout

Martin Flöser mgraesslin at kde.org
Sun Sep 19 20:04:05 BST 2021


Am Sonntag, 19. September 2021, 13:30:28 CEST schrieb SR_team:
> Hi, I can simply get current language input layout on X11 from XKB. It's
> work on all WM/DE, and it works on Wayland session via XWayland. But I want
> to get language input layout on Wayland natively, without XWayland. My
> target DE is KDE/Plasma. Can I get this information from KWin? May be in
> KWin exists universal interface for X11/Wayland sessions to get current
> language layout?

You need to use the keymap event of the wl_keyboard interface. This provides a 
file descriptor to the current xkb keymap. The current layout is notified 
through the modifiers event. All of this is exposed through 
KWayland::Client::Keyboard.

> Also, I tryied detect current platform and active window from KWindowSystem
> in my console app, but this always return is 0. Maybe it works only for
> window apps, but I want to write a daemon to switch led color on my
> keyboard, when language input layout is changed.

This is difficult as active window is not really exposed. You can use the Plasma 
Windowsystem API in KWayland, but it is security restricted. A possible 
approach (if you want to have it Plasma specific) is using a KWin script and 
send the information to a DBus service your deamon exposes. That certainly 
sounds like a cool project.

Cheers
Martin





More information about the kwin mailing list