Another correction (in addition to the first one web+ap://toot.mirbsd.org/@mirabilos/statuses/01JAKGX2SCV4FN125PWDYNMFS9 which showed #keyboard-configuration being absolutely useless for Xserver configuration): #Debian keyboard-configuration is totally useless for this, too.
Turns out it does attempt to use the XKBLAYOUT, XKBVARIANT, XKBOPTIONS to divine the text console keyboard. (But not the X keyboard.) It does not, however, use xkb for that; rather, it has a custom Perl script that assumes one of the default layouts and uses knowledge of them.
So, the suggestion from above… errors out on the next boot (or /etc/init.d/console-setup.sh restart).
It even does that when you set KMAP so the result isn’t used!
Turns out that, for a working configuration, you need:
Go to mircvs://contrib/code/Snippets/KBDmir2U.map; download the latest revision and put as /etc/console-setup/KBDmir2U.map, then run sudo gzip -n9 /etc/console-setup/KBDmir2U.map to compress it.
Put into /etc/default/keyboard the following:
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="del"
KMAP="/etc/console-setup/KBDmir2U.map.gz"
(Of course, adjust XKBMODEL to suit.)
This sets one of the default layouts (the one closest to mirkbd in fact), and does actively specify BACKSPACE="del", which we’ll want), and then instructs the init script to load the KMAP file instead.
This takes care of the Linux text console (only).
For X11 with #Xorg, after installing the files into their proper locations (see above), you need /etc/X11/xorg.conf.d/99-local.conf with:
Section "InputClass"
Identifier "keyboard defaults"
MatchIsKeyboard "on"
Option "xkb_layout" "mirkbd"
Option "xkb_variant" ""
Option "xkb_options" ""
EndSection
(Of course, set xkb_variant and xkb_options to taste.) Also make sure, with this, you’re not using xmodmap any more (move ~/.Xmodmap aside).
I haven’t tested how well this plays with #xrdp #xorgxrdp yet.
And for #Wayland, you’re at the mercy of your desktop environment’s settings dialogues (after having installed the #xkb files at their right places and restarted/re-logged-in). See above in this thread as well.
