You are not logged in.

#1 2018-10-30 23:15:18

ceik
Member
Registered: 2018-05-07
Posts: 4

[Solved] Setxkbmap Options Have No Effect?

I'm trying to map my caps key to act as ctrl. Following this https://wiki.archlinux.org/index.php/Xo … figuration description I tried the following:

[ceik@dagon ~]$ setxkbmap -option ctrl:nocaps
[ceik@dagon ~]$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     us
options:    ctrl:nocaps
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)+ctrl(nocaps)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)"    };
    xkb_types     { include "complete"    };
    xkb_compat    { include "complete"    };
    xkb_symbols   { include "pc+us+inet(evdev)+ctrl(nocaps)"    };
    xkb_geometry  { include "pc(pc105)"    };
};

To me this looks like it accepted the option, problem is: It has no effect. My caps key still behaves like a caps key.

xev gives me the following when I hit caps:

KeyPress event, serial 34, synthetic NO, window 0x1c00001,
    root 0x39c, subw 0x0, time 1218106, (550,576), root:(588,678),
    state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
    XKeysymToKeycode returns keycode: 37
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x1c00001,
    root 0x39c, subw 0x0, time 1218193, (550,576), root:(588,678),
    state 0x2, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
    XKeysymToKeycode returns keycode: 37
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Again, that looks like it should have worked to me?

I also tried to persist the setting via:

[ceik@dagon ~]$ localectl set-x11-keymap ctrl:nocaps
[ceik@dagon ~]$ cat /etc/X11/xorg.conf.d/00-keyboard.conf
# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
# probably wise not to edit this file manually. Use localectl(1) to
# instruct systemd-localed to update it.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "ctrl:nocaps"
EndSection

However when I reboot, the `ctrl:nocaps` option is gone from `setxkbmap -print -verbose 10`.

Am I doing something wrong or is there some step I am missing?

The wiki article above hints that Gnome can override these settings, however I wasn't able to find anything on this (only the keyboard shortcuts, which seem unrelated).

Last edited by ceik (2018-11-01 08:37:36)

Offline

#2 2018-10-31 00:02:03

damjan
Member
Registered: 2006-05-30
Posts: 462

Re: [Solved] Setxkbmap Options Have No Effect?

seems to work

ceik wrote:

symbols:    pc+us+inet(evdev)+ctrl(nocaps)

there it is ^

also

state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,

says Control_L

Offline

#3 2018-10-31 08:43:50

ceik
Member
Registered: 2018-05-07
Posts: 4

Re: [Solved] Setxkbmap Options Have No Effect?

Yes, the option seems to have been set correctly, but it has no effect. My caps key still works like a caps key in any application I try.

Edit: I'm trying this on a Lenovo X1 Carbon G6. Running GNOME, everything up-to-date (I tried this 1-2 months ago, also without success). Both my built-in keyboard and USB keyboard (Lenovo KU-1255) exhibit this same behavior (caps stays caps).

Last edited by ceik (2018-10-31 08:57:05)

Offline

#4 2018-10-31 22:50:01

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,729

Re: [Solved] Setxkbmap Options Have No Effect?

Running GNOME

loginctl session-status

?

Offline

#5 2018-10-31 23:30:00

ceik
Member
Registered: 2018-05-07
Posts: 4

Re: [Solved] Setxkbmap Options Have No Effect?

[ceik@dagon ~]$ loginctl session-status
2 - ceik (1000)
	   Since: Tue 2018-10-30 23:45:16 CET; 24h ago
	  Leader: 752 (gdm-session-wor)
	    Seat: seat0; vc2
	     TTY: tty2
	 Service: gdm-password; type wayland; class user
	   State: active
	    Unit: session-2.scope
		  ├─ 752 gdm-session-worker [pam/gdm-password]
		  ├─ 765 /usr/bin/gnome-keyring-daemon --daemonize --login
		  ├─ 770 /usr/lib/gdm-wayland-session /usr/bin/gnome-session
		  ├─ 774 /usr/lib/gnome-session-binary
		  ├─ 810 /usr/bin/gnome-shell
		  ├─ 831 /usr/bin/Xwayland :0 -rootless -terminate -accessx -core -listen 4 -listen 5 -displayfd 6
		  ├─ 964 /usr/lib/gsd-power
		  ├─ 965 /usr/lib/gsd-print-notifications
		  ├─ 966 /usr/lib/gsd-rfkill
		  ├─ 967 /usr/lib/gsd-screensaver-proxy
		  ├─ 969 /usr/lib/gsd-sharing
		  ├─ 972 /usr/lib/gsd-sound
		  ├─ 978 /usr/lib/gsd-xsettings
		  ├─ 983 /usr/lib/gsd-wacom
		  ├─ 986 /usr/lib/gsd-smartcard
		  ├─ 990 /usr/lib/gsd-clipboard
		  ├─ 991 /usr/lib/gsd-a11y-settings
		  ├─ 992 /usr/lib/gsd-datetime
		  ├─ 994 /usr/lib/gsd-color
		  ├─ 996 /usr/lib/gsd-keyboard
		  ├─ 997 /usr/lib/gsd-housekeeping
		  ├─ 998 /usr/lib/gsd-mouse
		  ├─1002 /usr/lib/gsd-media-keys
		  ├─1016 /usr/lib/gsd-printer
		  ├─1091 /usr/lib/gsd-disk-utility-notify
		  ├─1092 python3 /usr/lib/gnome-tweak-tool-lid-inhibitor
		  ├─1102 /usr/bin/gnome-software --gapplication-service
		  ├─1115 /usr/lib/evolution-data-server/evolution-alarm-notify
		  ├─1213 /home/ceik/.dropbox-dist/dropbox-lnx.x86_64-60.4.107/dropbox /newerversion
		  ├─1587 /usr/lib/firefox/firefox
		  ├─1658 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 12808 -schedulerPrefs 0001,2 -parentBuildID 20180922012926 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1587 true tab
		  ├─1848 /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 16320 -schedulerPrefs 0001,2 -parentBuildID 20180922012926 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1587 true tab
		  ├─1866 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 16320 -schedulerPrefs 0001,2 -parentBuildID 20180922012926 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1587 true tab
		  ├─1882 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 16320 -schedulerPrefs 0001,2 -parentBuildID 20180922012926 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1587 true tab
		  └─8924 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh

Oct 31 23:36:09 dagon spotify.desktop[810]: [1031/233609.454788:ERROR:gl_surface_presentation_helper.cc(104)] GetVSyncParametersIfAvailable() failed!
Oct 31 23:41:09 dagon spotify.desktop[810]: [1031/234109.456745:ERROR:gl_surface_presentation_helper.cc(104)] GetVSyncParametersIfAvailable() failed!
Oct 31 23:45:18 dagon gsd-housekeepin[997]: Failed to enumerate children of /var/tmp/systemd-private-fc774668188b4167a039ce8fd735195c-upower.service-801V5h: Error opening directory '/var/tmp/systemd-private-fc774668188b4167a039ce8fd735195c-upower.service-801V5h': Permission denied
Oct 31 23:45:18 dagon gsd-housekeepin[997]: Failed to enumerate children of /var/tmp/systemd-private-fc774668188b4167a039ce8fd735195c-colord.service-bC4CGv: Error opening directory '/var/tmp/systemd-private-fc774668188b4167a039ce8fd735195c-colord.service-bC4CGv': Permission denied
Oct 31 23:45:18 dagon gsd-housekeepin[997]: Failed to enumerate children of /tmp/systemd-private-fc774668188b4167a039ce8fd735195c-colord.service-VNbwh7: Error opening directory '/tmp/systemd-private-fc774668188b4167a039ce8fd735195c-colord.service-VNbwh7': Permission denied
Oct 31 23:45:18 dagon gsd-housekeepin[997]: Failed to enumerate children of /tmp/.esd-120: Error opening directory '/tmp/.esd-120': Permission denied
Oct 31 23:45:18 dagon gsd-housekeepin[997]: Failed to enumerate children of /tmp/systemd-private-fc774668188b4167a039ce8fd735195c-upower.service-OguCgQ: Error opening directory '/tmp/systemd-private-fc774668188b4167a039ce8fd735195c-upower.service-OguCgQ': Permission denied
Nov 01 00:10:09 dagon spotify.desktop[810]: [1101/001009.454676:ERROR:gl_surface_presentation_helper.cc(104)] GetVSyncParametersIfAvailable() failed!
Nov 01 00:17:05 dagon spotify.desktop[810]: [1101/001705.415790:ERROR:gl_surface_presentation_helper.cc(104)] GetVSyncParametersIfAvailable() failed!
Nov 01 00:24:08 dagon spotify.desktop[810]: [1101/002408.809155:ERROR:gl_surface_presentation_helper.cc(104)] GetVSyncParametersIfAvailable() failed!

Offline

#6 2018-10-31 23:31:54

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: [Solved] Setxkbmap Options Have No Effect?

As the name implies setxkbmap only works with X. You're running Wayland.


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#7 2018-11-01 08:35:43

ceik
Member
Registered: 2018-05-07
Posts: 4

Re: [Solved] Setxkbmap Options Have No Effect?

Ouch, makes sense. Thanks!

For anyone else stuck with this: This (and many similar remappings) can easily be done via gnome-tweaks -> Keyboard & Mouse -> Additional Layout Options. Somehow this approach only started showing up when specifically searching for how to do this under Wayland.

Last edited by ceik (2018-11-01 08:36:32)

Offline

Board footer

Powered by FluxBB