Keyboard Keeps Reverting Back To US QWERTY No Matter What I Do

Out put of systemd-vconsole-setup.service

● systemd-vconsole-setup.service - Setup Virtual Console
Loaded: loaded (/usr/lib/systemd/system/systemd-vconsole-setup.service; static)
Active: active (exited) since Thu 2022-12-15 20:58:41 IST; 18min ago
Docs: man:systemd-vconsole-setup.service(8)
man:vconsole.conf(5)
Process: 297 ExecStart=/usr/lib/systemd/systemd-vconsole-setup (code=exited, status=0/SUCCESS)
Main PID: 297 (code=exited, status=0/SUCCESS)
CPU: 22ms

Dec 15 20:58:41 Garuda-Linux systemd-vconsole-setup[297]: KD_FONT_OP_GET failed while trying to get the font >
Dec 15 20:58:41 Garuda-Linux systemd-vconsole-setup[297]: Fonts will not be copied to remaining consoles
Dec 15 20:58:41 Garuda-Linux systemd[1]: Finished Setup Virtual Console.

Here's the output for cat Mkinitcpio (I don't know why but while replying it started writting in japanesse i closed the firefox and opened again to fix it lol it happened trice now)

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(crc32c-intel intel_agp i915 amdgpu radeon nouveau)
MODULES=(crc32c-intel intel_agp i915 amdgpu radeon nouveau)

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keyboard keymap consolefont plymouth resume filesystems grub-btrfs-overlayfs"

# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

Try adding setfont to the BINARIES values, so the line looks like this:

BINARIES=(setfont)

Then rebuild again.

sudo mkinitcpio -P

Afterward, can you recheck localectl? I just want to make sure it is not changing after rebuilding initramfs.

If it looks good, try rebooting to test again and repost sudo systemctl status systemd-vconsole-setup.service.

even after that everything the same nothing changed

Nothing changed, you still have the KD_FONT error in sudo systemctl status systemd-vconsole-setup.service after adding setfont to BINARIES?

yep

systemd-vconsole-setup.service - Setup Virtual Console
Loaded: loaded (/usr/lib/systemd/system/systemd-vconsole-setup.service; static)
Active: active (exited) since Thu 2022-12-15 21:38:30 IST; 23min ago
Docs: man:systemd-vconsole-setup.service(8)
man:vconsole.conf(5)
Process: 286 ExecStart=/usr/lib/systemd/systemd-vconsole-setup (code=exited, status=0/SUCCESS)
Main PID: 286 (code=exited, status=0/SUCCESS)
CPU: 22ms

Dec 15 21:38:30 Garuda-Linux systemd[1]: Starting Setup Virtual Console...
Dec 15 21:38:30 Garuda-Linux systemd-vconsole-setup[286]: KD_FONT_OP_GET failed while trying to get the font >
Dec 15 21:38:30 Garuda-Linux systemd-vconsole-setup[286]: Fonts will not be copied to remaining consoles
Dec 15 21:38:30 Garuda-Linux systemd[1]: Finished Setup Virtual Console.

Since we still can't get to the bottom of it, just to be really sure, have you tried the suggestion in Arch wiki in xinitrc and xprofile?

previously when i was using arch with qtile i didn't installed longin manager i edited the xinitrc file deleted the default last 5 lines that launces twm, and added "gnome-polkit" "setxkbmap us colemak" and "qtile start" and then i type "startx" and starts the xorg server. but with Garuda i think i might break some thing if i disable the login manager.

I don't think adding that line to xinitrc or xprofile will break anything, and for sure you don't need to disable the login manager.
I would give it a try, you don't have much risk, in the worst case boot to a tty and revert the change(s).

umm... i mean like we need polkit like gnome-polkit i thought there where something like that i have to manually add to it. well anyways back to cool tty1 with startx.

i found some amusing thing.
after adding "setxkbmap us colemak" in .xinitrc
and rebooting it doesnot work with plasma i still get the qwerty not colemak

BBBUTTT
when change and login to qtile it works

i think the fault comes from kde itself
which makes it revert back to us qwerty

as i got colemak when i log in to qtile

What about with .xprofile?

there’s no xprofile i guess or maybe /usr/share/sddm/scripts/Xsession

Umm… also sorry i will not be able to reply anymore right now i gotta sleep it’s 11:45 pm here

Xsession

#! /bin/sh

Xsession - run as user

Copyright (C) 2016 Pier Luigi Fiorini [email protected]

This file is extracted from kde-workspace (kdm/kfrontend/genkdmconf.c)

Copyright (C) 2001-2005 Oswald Buddenhagen [email protected]

Note that the respective logout scripts are not sourced.

case $SHELL in
*/bash)
[ -z “$BASH” ] && exec $SHELL $0 “$@”
set +o posix
[ -f /etc/profile ] && . /etc/profile
if [ -f $HOME/.bash_profile ]; then
. $HOME/.bash_profile
elif [ -f $HOME/.bash_login ]; then
. $HOME/.bash_login
elif [ -f $HOME/.profile ]; then
. $HOME/.profile
fi
;;
*/zsh)
[ -z “$ZSH_NAME” ] && exec $SHELL $0 “$@”
[ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc
zhome=${ZDOTDIR:-$HOME}
# zshenv is always sourced automatically.
[ -f $zdir/zprofile ] && . $zdir/zprofile
[ -f $zhome/.zprofile ] && . $zhome/.zprofile
[ -f $zdir/zlogin ] && . $zdir/zlogin
[ -f $zhome/.zlogin ] && . $zhome/.zlogin
emulate -R sh
;;
/csh|/tcsh)
# [t]cshrc is always sourced automatically.
# Note that sourcing csh.login after .cshrc is non-standard.
xsess_tmp=mktemp /tmp/xsess-env-XXXXXX
$SHELL -c “if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c ‘export -p’ >! $xsess_tmp”
. $xsess_tmp
rm -f $xsess_tmp
;;
*/fish)
xsess_tmp=mktemp /tmp/xsess-env-XXXXXX
$SHELL --login -c “/bin/sh -c ‘export -p’ > $xsess_tmp”
. $xsess_tmp
rm -f $xsess_tmp
;;
*) # Plain sh, ksh, and anything we do not know.
[ -f /etc/profile ] && . /etc/profile
[ -f $HOME/.profile ] && . $HOME/.profile
;;
esac

[ -f /etc/xprofile ] && . /etc/xprofile
[ -f /usr/local/etc/xprofile ] && . /usr/local/etc/xprofile
[ -f $HOME/.xprofile ] && . $HOME/.xprofile

run all system xinitrc shell scripts.

if [ -d /etc/X11/xinit/xinitrc.d ]; then
for i in /etc/X11/xinit/xinitrc.d/* ; do
if [ -x “$i” ]; then
. “$i”
fi
done
fi

Load Xsession scripts

OPTIONFILE, USERXSESSION, USERXSESSIONRC and ALTUSERXSESSION are required

by the scripts to work

xsessionddir=“/etc/X11/Xsession.d”
OPTIONFILE=/etc/X11/Xsession.options
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession

if [ -d “$xsessionddir” ]; then
for i in ls $xsessionddir; do
script=“$xsessionddir/$i”
echo “Loading X session script $script”
if [ -r “$script” -a -f “$script” ] && expr “$i” : ‘[1]{1,}$’ > /dev/null; then
. “$script”
fi
done
fi

if [ -d /etc/X11/Xresources ]; then
for i in /etc/X11/Xresources/*; do
[ -f $i ] && xrdb -merge $i
done
elif [ -f /etc/X11/Xresources ]; then
xrdb -merge /etc/X11/Xresources
fi
[ -f $HOME/.Xresources ] && xrdb -merge $HOME/.Xresources

if [ -f “$USERXSESSIONRC” ]; then
. “$USERXSESSIONRC”
fi
if [ -f “$USERXSESSION” ]; then
. “$USERXSESSION”
fi

if [ -z “$*” ]; then
exec xmessage -center -buttons OK:0 -default OK “Sorry, $DESKTOP_SESSION is no valid session.”
else
exec $@
fi


  1. [:alnum:]_- ↩︎

https://wiki.archlinux.org/title/Xprofile

2 Likes

cat ~/.xprofile
[bat error]: ‘/home/nihu/.xprofile’: No such file or directory (os error 2)

well anyways i am switching from Garuda Dragonised to Garuda Qtile.
So i think this is the end.

For the keyboard mapping, maybe. But for Garuda no, you’re staying with the brand. :smiley:

https://invidious.garudalinux.org/watch?v=ZeMlQEWEg2Q
:smiley:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.