http://bugzilla.opensuse.org/show_bug.cgi?id=1209594 http://bugzilla.opensuse.org/show_bug.cgi?id=1209594#c26 --- Comment #26 from Stefan Dirsch <sndirsch@suse.com> --- (In reply to Luca Billi from comment #24)
Sorry to start sounding like a broken record but I'd like to reiterate that set-keymap and set-x11-keymap are not orthogonal but they overstep each other: they BOTH change all XKB* variables *and* KEYMAP.
That's how mapping between Linux console and X11 keyboard is currently.
Unless the toggle "--no-convert" is used that is.
Well, but we need the convert for YaST (from Linux console to X11 at least)
Namely, if a user has configured KEYMAP != XKBLAYOUT, no sequence of set-keymap / set-x11-keymap will ever be able to reproduce that configuration and the user settings will be inevitably overidden.
That is not my case but I'm just pointing out a limitation of the current approach.
Well, who wants that. Different Linux console keyboard and defaultl X11 keyboard setting?
Taking a step back, I don't know about the big picture but I'm wondering about the role of the script "keytable".
The main purpose of this script is to finish what YaST fails to do during installation. * Wed Oct 18 2017 sndirsch@suse.com - reintroduced /etc/X11/xdm/keytable script and the hook-up in /usr/lib/X11/display-manager to setup X11 keymaps, since YaST is not able to use localectl already during installation due to dbus and appropriate systemd services not running :-( (bsc#1046436) I already killed it before, but I needed to revive it. :-(
If it is to just provide sensible defaults in case some settings are missing, maybe this logic might do the trick:
if KEYMAP and XKBLAYOUT are defined do nothing (and preserve user settings)
else if KEYMAP is defined but not XKBLAYOUT set-keymap KEYMAP (which will also implicitly set XKB*)
else do nothing (current behavior) fi
Yes, that may work. Haven't tested this though. -- You are receiving this mail because: You are on the CC list for the bug.