From df6d40feb615a5b71117ff0cfc540ffe5caa792b Mon Sep 17 00:00:00 2001 From: Erlend Pedersen Date: Tue, 9 Oct 2018 01:21:28 +0200 Subject: [PATCH] kbd: Rename some keymaps. From upstream kbd, some keymap names are reused across very different keyboard layouts. This is a a problem because loadkeys just picks the first keymap it sees. The clashing names lead to e.g. "loadkeys no" defaulting to a norwegian dvorak map instead of the much more common qwerty one. Used Arch Linux's list of keymaps that need renaming, with a small deviation: the norwegian dvorak map becomes dvorak-no instead of no-dvorak, to match the naming scheme for all the other dvorak maps. fixes #47878 (cherry picked from commit f1987fb58f57828944ca822bbb39b3de87f01863) --- pkgs/os-specific/linux/kbd/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix index bfade509fcaca1..a37e65f8cb50e8 100644 --- a/pkgs/os-specific/linux/kbd/default.nix +++ b/pkgs/os-specific/linux/kbd/default.nix @@ -25,6 +25,19 @@ stdenv.mkDerivation rec { # Add Neo keymap subdirectory sed -i -e 's,^KEYMAPSUBDIRS *= *,&i386/neo ,' data/Makefile.am + # Renaming keymaps with name clashes, because loadkeys just picks + # the first keymap it sees. The clashing names lead to e.g. + # "loadkeys no" defaulting to a norwegian dvorak map instead of + # the much more common qwerty one. + pushd data/keymaps/i386 + mv qwertz/cz{,-qwertz}.map + mv olpc/es{,-olpc}.map + mv olpc/pt{,-olpc}.map + mv dvorak/{no.map,dvorak-no.map} + mv fgGIod/trf{,-fgGIod}.map + mv colemak/{en-latin9,colemak}.map + popd + # Fix the path to gzip/bzip2. substituteInPlace src/libkeymap/findfile.c \ --replace gzip ${gzip}/bin/gzip \