You are not logged in.

#1 2023-02-03 10:13:05

blinkingbit
Member
Registered: 2023-02-03
Posts: 59

[SOLVED] Deadkeys only working inside terminal with $XCOMPOSEFILE set

I have tried to install a custom keyboard layout but placing the .XCompose file inside a config folder ($XDG_CONFIG_HOME). I have defined an environment variable as compose manual says. The deadkeys work as expected inside terminal (alacritty) but it doesn't work in other apps (firefox, discord).


I initialize those variables in $HOME/.bash_profile just before the call to start xorg:

export XDG_CONFIG_HOME=$HOME/.config
export ZK_NOTEBOOK_DIR=$HOME/zettelkasten-knowledge-database
export EDITOR=nvim
export LESSHISTFILE=$HOME/.cache/.lesshst
export XCOMPOSEFILE=$XDG_CONFIG_HOME/.XCompose

[[ -f ~/.bashrc ]] && . ~/.bashrc

if [[ "$(tty) == '/dev/tty1'" ]] && [ -z "$SSH_TTY" ]; then
       exec startx
fi

.XCompose file:

include "%L"

<grave> <a> : "á"
<grave> <e> : "é"
<grave> <i> : "í"
<grave> <o> : "ó"
<grave> <u> : "ú"
<grave> <n> : "ñ"
<grave> <A> : "Á"
<grave> <E> : "É"
<grave> <I> : "Í"
<grave> <O> : "Ó"
<grave> <U> : "Ú"
<grave> <N> : "Ñ"

<grave> <grave> : "`"
<grave> <space> : "` "

$ setxkbmap -print -query

xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "pc+us(dvorak)+inet(evdev)"	};
	xkb_geometry  { include "pc(pc105)"	};
};
rules:      evdev
model:      pc105
layout:     us
variant:    dvorak
options:    Compose

Last edited by blinkingbit (2023-02-03 21:40:48)

Offline

#2 2023-02-03 14:03:39

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,387

Re: [SOLVED] Deadkeys only working inside terminal with $XCOMPOSEFILE set

export GTK_IM_MODULE=xim

You'll loose the fancy unicode input, but otherwise GTK won't use XCompose … aaaaand (just looked to be sure): It's also in the wiki wink
https://wiki.archlinux.org/title/Xorg/K … ompose_key

Offline

#3 2023-02-03 18:02:54

blinkingbit
Member
Registered: 2023-02-03
Posts: 59

Re: [SOLVED] Deadkeys only working inside terminal with $XCOMPOSEFILE set

Works like a charm. When I read that section of the wiki I completely missed the fact that if GTK doesn't use xim, the applications relying on GTK won't be able to use it neither.

Just to be sure, does it happen with similar libraries like Qt?

Offline

#4 2023-02-03 18:05:45

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,387

Re: [SOLVED] Deadkeys only working inside terminal with $XCOMPOSEFILE set

"export QT_IM_MODULE=xim", but iirc xcompose is supported ootb on Qt.

Offline

Board footer

Powered by FluxBB