FS#70205 - [gtk3] Typing an apostrophe in gtk3 apps turns into a backtip/diacritic

Attached to Project: Arch Linux
Opened by Hugo Osvaldo Barrera (hobarrera) - Monday, 29 March 2021, 10:37 GMT
Last edited by Jan de Groot (JGC) - Monday, 10 May 2021, 08:06 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Jan Alexander Steffens (heftig)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 7
Private No

Details

Description:

This is a regression.

I initially found this issue on Firefox, but it seems it also applies to Electron (and apparently, other GTK3 apps).

I use a keyboard layout of English International. From my sway config:

```
input type:keyboard {
xkb_layout us
xkb_variant intl
xkb_numlock enable
}
```

Formerly, if I pressed ' and then space I got an apostrophe: '
Now, if I press ' and then space it prints a forward tick: ´

(Pressing space is necessary with English Intl because if I press ' and then the letter a, I get this: á. This is by design.)

It no longer seems possible to type single quotes in Firefox, so I can´t write things like this sentence any more (note there´s a forward tick instead of an apostrophe is wrong!)

Last known working package version: 1:3.24.27-4
Failing package version: 1:3.24.28-1

Note that a recent update already had _other_ changes to typing these characters, but the changes were subtle and had simple workarounds. This new set of changes has no workaround.
This task depends upon

Closed by  Jan de Groot (JGC)
Monday, 10 May 2021, 08:06 GMT
Reason for closing:  Fixed
Additional comments about closing:  3.24.29 reverts the changes, should be fixed.
Comment by Richard Renard (rikshart) - Monday, 29 March 2021, 12:26 GMT
I have the exact same issue under a i3/xorg session, with a /etc/X11/xorg.conf.d/00-keyboard.conf containing

```
# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
# probably wise not to edit this file manually. Use localectl(1) to
# instruct systemd-localed to update it.
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us"
Option "XkbVariant" "intl"
EndSection
```

Digging into gtk repository shows some specific handling of the "apostrophe then space" combo at https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3330 (and for 4.x https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3329) which leads to this issue https://gitlab.gnome.org/GNOME/gtk/-/issues/3778
Comment by Lorenzo Leonardini (pianka) - Monday, 29 March 2021, 13:12 GMT
Having the same problem with multiple applications (gnome-terminal, vscode, chrome, firefox, atom, gedit...). The only two that happens to work fine seem to be Gimp and telegram-desktop.

My 00-keyboard.conf is simply

```
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us"
Option "XkbVariant" "alt-intl"
EndSection
```
Comment by Hugo Osvaldo Barrera (hobarrera) - Monday, 29 March 2021, 13:25 GMT Comment by Aurelieng (aurelieng) - Monday, 29 March 2021, 14:25 GMT
A temporary workaround seems to be to type AltGr+'.
Comment by Bastien Durel (bastiendurel) - Monday, 29 March 2021, 14:41 GMT
Or editing ~/.config/gtk-4.0/Compose (.config beeing XDG_CONFIG_HOME)
```
<dead_acute> <space> : "'"
<dead_acute> <dead_acute> : "´"

```
Comment by Reginald (Uqbar) - Tuesday, 30 March 2021, 09:36 GMT
I think this is it:
https://blog.gtk.org/2021/03/24/input-revisited/

The actual "single quote" (or "apostrophe") can be typed with RightAlt+' .

The word "annoying" doesn't say it all.
Comment by Reginald (Uqbar) - Tuesday, 30 March 2021, 09:40 GMT
All applications using GTK are affected: Chrome, Chromium, Firefox, Electron-based (like Code), Libreoffice.
GIMP seems to be unaffected, though.
Comment by Hugo Osvaldo Barrera (hobarrera) - Tuesday, 30 March 2021, 09:57 GMT
GIMP is unaffected because it uses GTK2.
Comment by Aurelieng (aurelieng) - Tuesday, 30 March 2021, 12:21 GMT
I noticed a strange behavior with Alacritty 0.7.2-1 on Archlinux:

- with `gtk3-1:3.24.27-4`: `~` + `space` prints `~`
- with `gtk3-1-3.24.28-1`: `~` + `space` prints a space (or at least something rendered as a space)

Is this behavior related to the current thread, or would it be worth creating a new issue?

I'm sticking to `gtk3-1:3.24.27-4` for now.

cf. https://gitlab.gnome.org/GNOME/gtk/-/issues/3807#note_1070295
Comment by Reginald (Uqbar) - Tuesday, 30 March 2021, 12:55 GMT
As a workaround, as suggested by aurelieng, I did:

sudo pacman -U /var/cache/pacman/pkg/gtk3-1\:3.24.27-4-x86_64.pkg.tar.zst

to downgrade and then added:

IgnorePkg = gtk3

to /etc/pacman.conf to blacklist gkt3 from further upgrades.

Loading...