New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gdm does not follow the xserver keymap attributes #14318
Comments
/cc @jgeerds @lethalman |
I think this is a gnome thing at all. You should change your keyboard settings within gnome settings, because they're overridden. |
Actually, about gdm I think we can probably change it in the gdm config generated by nixos, yes. |
@lethalman I changed the keyboard settings on GNOME, but that only works after I login. |
@lethalman do you have an idea how to write an automated test that checks if the problem is fixed? |
I may have found something.
When looking at the path above, there is an
all these references to |
Probable, I don't remember if I stopped gdm from using that file or not. |
Damien Cassou notifications@github.com writes:
That's what I found as well, and fixing these links might fix the issue, |
@NicolasPetton please pass |
There is an explicit reference to
|
@DamienCassou yes that |
Maybe it's related to the X11 layout? $ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: dvp
X11 Layout: n/a |
I guess this is what broke gdm for me. I tried switching from kdm, but was unable to login due to a bad password. My password contains characters that are impossible to enter on a us keyboard.
|
Just wondering if there is any updates on this issue; I am experiencing it as well on 16.09. Setting
And yet
and
|
I was gonna ask if this should be labeled as an xserver issue but apparently there is no label for that >.< |
Both @NicolasPetton and me are not using NixOS anymore. |
I kinda found a way to fix this. From what I read, it seems that gdm honors systemd-localed ( My hacky module, once imported and enabled from a configuration file, creates { config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver;
fcfg = cfg.localectlFix;
in {
options.services.xserver.localectlFix =
{ enable = mkEnableOption "Enables localectl fix.";
};
config = mkIf fcfg.enable {
environment.etc = mkAssert cfg.enable ''
X11 must be enabled for the fix to work.
'' { "X11/xorg.conf.d/00-keyboard.conf".text = ''
Section "InputClass"
Identifier "Keyboard catchall"
MatchIsKeyboard "on"
Option "XkbRules" "base"
Option "XkbModel" "${cfg.xkbModel}"
Option "XkbLayout" "${cfg.layout}"
Option "XkbOptions" "${cfg.xkbOptions}"
Option "XkbVariant" "${cfg.xkbVariant}"
EndSection
'';
};
};
} That seems to do the trick. The layout has changed (for me) in gdm and in ~ ❯❯❯ localectl
System Locale: LANG=fr_CA.UTF-8
VC Keymap: cf
X11 Layout: ca
X11 Model: pc104
X11 Options: terminate:ctrl_alt_bksp One way to fix this issue would be to implement this in |
Can't we just unconditionally create the file if X is enabled in |
Yes. It could be. But, as it is a hack more than anything, I'm hesitant to create it for every user who enables X11. Even if I copy/pasted the configuration section from And I am new to Nix and NixOS, so I'm still learning best practices. One thing for sure, it would be better to store the created |
I can confirm that @adamscott's patch in #14318 (comment) fixes the output of
And capslock is not mapped to control in Gnome. |
Would this work? {services.xserver.desktopManager.gnome3.extraGSettingsOverrides = ''
[org.gnome.desktop.input-sources]
sources=[('xkb', 'cz+qwerty')]
xkb-options=['compose:caps']
'';} |
Doesn't work for me. Putting the code from #14318 (comment) into a |
With the latest |
localectl looks for keyboard settings in /X11/xorg.conf.d/00-keyboard.conf Closes: NixOS#29959, NixOS#14318
Fixed in #32203 |
After setting up the xserver like the following
And running
nixos-rebuild switch && reboot
, GDM is still using the US Querty layout, while it should be using Colemak instead.The text was updated successfully, but these errors were encountered: