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.