Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 26 additions & 79 deletions knowledge-base/kb0101.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,110 +3,57 @@
Unfortunately when using the KDE desktop environment, the support for ibus
(which Keyman for Linux uses underneath) isn’t that great.

## Prequisites
## Prerequisites

As a prerequisite it is assumed that KDE Plasma, Wayland, and sddm are installed and working.
This is the base for the steps described below. The steps may be appropriate for
other configurations, too.

## Installation and Configuration Steps

If you want to use Keyman with KDE you’ll have to do some manual
steps.

### Step 1 Install Keyman package

In a terminal window, run:

```bash
sudo apt update
sudo apt install keyman
```

If not installed, this command installs the `ibus` package.

This is just an example for the apt package manager, on another Linux platform
there may be a different package manager and different package names.

### Step 2 Provide the environment variables required for the `ibus` input method framework

The environment variables `"GTK_IM_MODULE"` and `"QT_IM_MODULE"` must be set
to `"ibus"`; `"XMODIFIERS"` to `"@im=ibus"`.

This can be achieved by setting them in the `/etc/environment` file or by
putting a file containing the environment variables into the directory
`$HOME/.config/environment.d`.

The format in both files is:

```bash
GTK_IM_MODULE=ibus
XMODIFIERS=@im=ibus
QT_IM_MODULE=ibus
```

### Step 3 Auto-start the ibus daemon on every login

This can be achieved by providing a file ending with `.desktop` in the
directory `$HOME/.config/autostart`.

```bash
[Desktop Entry]
Exec=<some directory path>/ibus-start.sh
Icon=application-x-shellscript
Name=ibus-start
Type=Application
X-KDE-AutostartScript=true
```

The content of the `ibus-start.sh` file is:

```bash
#!/bin/bash
ibus-daemon -dxrn kde
```

This may lead to an `IBus Notification` message box after logging in.


```bash
IBus should be called from the desktop session in Wayland. For KDE, you can
launch 'systemsettings5' utility and go to "Input Devices"->"Virtual Keyboard"
icon and select "Ibus Wayland" and click "Apply" button to configure Ibus in
Wayland. (...)
```

One option is ignoring the `IBus Notification`. IBus will be working.

Another option is to follow the instructions in the `IBus Notification`. In this
case the local autostart actions are no longer required. Therefore before you
follow the instructions, remove the `.desktop` file described above. Because
another autostart mechanism will be used.
### Step 2 Enable IBus Wayland as Virtual Keyboard

Even then another `IBus Notification` box may appear.
Open the Virtual Keyboard dialog by launching the System Settings utility and going to
"Input & Output" → "Keyboard" → "Virtual Keyboard". Select "IBus Wayland" and click
the "Apply" button to configure IBus in Wayland.

```bash
Please unset QT_IM_MODULE and GTK_IM_MODULE environment variables and
'ibus-daemon --panel disable' should be executed as a child process of
ibus-ui-gtk3 component.
```

> [!WARNING]
> Please do not follow these instructions. Leave the `QT_IM_MODULE` and
`GTK_IM_MODULE` environment variables set, otherwise some fonts won't be
correctly displayed with Keyman.

### Step 4 Reboot so that the changes you made get applied to the new session

Now you should be able to use Keyman for Linux and add and use Keyman keyboards.
### Step 3 Add input methods to IBus

## Adding input methods to IBus
When installing a Keyman keyboard it gets automatically added to IBus
as Input Method.

Keyman keyboards installed have to be added to IBus as Input Method
(Launcher->"System"->"IBus Preferences"->"Input Method").
If you used a different desktop environment like Gnome before, keyboards might show up in
"Keyman Configuration" but are not listed in IBus' Input Methods. In that case simply
re-install the keyboard in "Keyman Configuration".

---
> [!NOTE]
> It seems that some KDE specific programs like Konsole aren’t designed to work with ibus/Keyman keyboards. To test if a Keyman keyboard works you can test with gedit or LibreOffice Writer.

> [!NOTE]
> It seems that some KDE specific programs like Konsole aren’t designed to work with ibus/Keyman keyboards. To test if a Keyman keyboard works, you can test with gedit or LibreOffice Writer.
---

## References
- https://wiki.debian.org/I18n/ibus
- https://wiki.archlinux.org/title/IBus
- https://help.ubuntu.com/community/ibus

- <https://wiki.debian.org/I18n/ibus>
- <https://wiki.archlinux.org/title/IBus>
- <https://help.ubuntu.com/community/ibus>

## Applies to

- Keyman for Linux
Loading