I use setxkbmap -option compose:menu to get my special binding to be enabled. In 90% of applications, this is enough. However, some flatpack/snap ones do not seem to pick the added ones.
I have:
√ ; localectl status
System Locale: LANG=en_GB.UTF-8
VC Keymap: gb
X11 Layout: gb
But where is the configuration file for gb that defines the basic ones? I can then add my changes there and it should work everywhere. But where is it?…
My configuration file, in case you wanted to know:
include "%L"
<Multi_key> <Z> <Z> : "ℤ" # Blackboard bold Z (set of integers)
<Multi_key> <i> <i> : "⸮" # Irony mark.
<Multi_key> <h> <h> : "←" # Left arrow.
<Multi_key> <j> <j> : "↓" # Down arrow.
<Multi_key> <k> <k> : "↑" # Up arrow.
<Multi_key> <l> <l> : "→" # Right arrow.
<Multi_key> <1> <1> : "☺" # Happy.
<Multi_key> <2> <2> : "☹" # Sad.
<Multi_key> <3> <3> : "¯\\_(ツ)_/¯" # Shrug.
Kind of… This is talking about xmodmap which sadly is not supported by many applications or was not at the time I moved to XCompose which worked fine for everything till now.
Here’s the funny thing. In Signal (installed via flatpack), the ellipses … works fine but the irony mark ⸮ does not. So, I greped for those in /usr/share/X11 thinking that I could add the irony mark to whichever file had my local (en_GB) like so:
Hi, if you already enable compose key, most of the time it need to reload the session (log out and login again) to apply the changes.
Update:
Below are what I did.
Enable compose key using Gnome Tweaks app “Keboard & Mouse” → “Compose Key” (for me the Gnome Settings sometimes not reliable to select the compose key).
If you already create ~/.XCompose in your user home dir, you need to give org.signal.Signal flatpak app permission to access you home dir. Here how:
# Give permission to access home dir.
sudo flatpak override --filesystem=home org.signal.Signal
# Check current permission.
# On part `filesystems=` there will be new variable, home.
[testcase@fedora ~]$ flatpak info --show-permissions org.signal.Signal
[Context]
shared=network;ipc;
sockets=x11;wayland;pulseaudio;
devices=all;
filesystems=xdg-music;xdg-pictures;xdg-public-share;xdg-videos;xdg-download;home;xdg-documents;xdg-desktop;xdg-run/pipewire-0;
[Session Bus Policy]
org.kde.StatusNotifierWatcher=talk
org.freedesktop.Notifications=talk
org.freedesktop.portal.Background=talk
org.freedesktop.portal.Fcitx=talk
org.kde.*=own
# To remove the permission of accessing home dir.
sudo flatpak override --nofilesystem=home org.signal.Signal
Logout and login again then open again Signal app.