https://bugs.kde.org/show_bug.cgi?id=520421

            Bug ID: 520421
           Summary: KTouch does not handle dead keys correctly on GNOME
                    Wayland (ABNT2 / Portuguese keyboard)
    Classification: Applications
           Product: ktouch
      Version First unspecified
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: critical
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 192468
  --> https://bugs.kde.org/attachment.cgi?id=192468&action=edit
My keyboard layout is Brazilian Portuguese ABNT2, but the app doesn't recognize
it. I can't get past the level

# KTouch does not handle dead keys correctly on GNOME Wayland (ABNT2 /
Portuguese keyboard)

## Environment

* Distribution: Ubuntu 26.04 LTS
* Desktop: GNOME
* Session type: Wayland
* Keyboard layout: Brazilian Portuguese (ABNT2)
* Qt: Qt6
* KTouch installed via:

  * apt
  * Flatpak
  * Snap
* Problem occurs in all installation methods

## Problem description

KTouch does not process dead keys correctly during typing exercises when
running under GNOME Wayland with a Brazilian ABNT2 keyboard layout.

The system keyboard configuration itself is correct and works normally in all
other applications.

Examples:

* `ç` works correctly
* AltGr works correctly
* dead keys work correctly system-wide
* GTK applications work correctly
* xev shows correct dead key events

However, inside KTouch exercises:

* pressing `'` immediately inserts `'`
* pressing `~` immediately inserts `~`
* dead keys are not composed into accented characters

For example:

Expected:

1. press `'`
2. press `a`
3. result: `á`

Actual behavior in KTouch:

1. press `'`
2. `'` appears immediately
3. press `a`
4. result becomes `'a`

This suggests KTouch is reading raw key events instead of receiving already
composed text input from the input method / IME stack.

## Important observations

The operating system itself is functioning correctly.

Verified:

* GNOME Wayland session works correctly
* ABNT2 layout works correctly
* dead keys work correctly outside KTouch
* `xev` reports:

  * `dead_tilde`
  * `dead_acute`
  * `ISO_Level3_Shift`
* Qt Wayland plugin is installed and detected
* ibus integration is installed
* problem appears isolated to KTouch input handling during lessons

## Additional technical details

Commands used for verification:

```bash
echo $XDG_SESSION_TYPE
# wayland
```

```bash
gsettings get org.gnome.desktop.input-sources sources
# [('xkb', 'br')]
```

```bash
xev
```

`xev` correctly reports:

* `dead_tilde`
* `dead_acute`
* `ISO_Level3_Shift`

Qt Wayland plugin is available:

```bash
dpkg -l | grep wayland
```

Relevant libraries detected:

* libQt6WaylandClient.so.6
* qt6-wayland

KTouch also detects:

* libqwayland.so

## What was tested

Tried without success:

* QT_QPA_PLATFORM=wayland
* QT_IM_MODULE=ibus
* XMODIFIERS=@im=ibus
* Flatpak version
* Snap version
* apt version

The issue persists.

## Expected behavior

KTouch should correctly support:

* dead keys
* composed characters
* IME/input-method processing
* accented characters
* ABNT2 layouts
* Wayland sessions

especially because Wayland is now the default environment on modern Linux
desktops.

## Possible cause

It appears KTouch may be handling raw QKeyEvent key presses directly during
lessons instead of consuming composed text input from the input method stack.

This likely affects:

* Portuguese
* Spanish
* French
* and other layouts relying on dead keys.

Thank you for your work on KTouch.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to