title: Why are some setxkbmap options ignored?
body: <p>in share/X11/xkb/rules/evdev/lst, I find this set of options for ctrl</p>
  
  <pre><code>  ctrl                 Ctrl key position
    ctrl:nocaps          Caps Lock as Ctrl
    ctrl:lctrl_meta      Left Ctrl as Meta
    ctrl:swapcaps        Swap Ctrl and Caps Lock
    ctrl:ac_ctrl         At left of 'A'
    ctrl:aa_ctrl         At bottom left
    ctrl:rctrl_ralt      Right Ctrl as Right Alt
    ctrl:menu_rctrl      Menu as Right Ctrl
    ctrl:ctrl_ralt       Right Alt as Right Ctrl
    ctrl:swap_lalt_lctl  Swap Left Alt key with Left Ctrl key
    ctrl:swap_lwin_lctl  Swap Left Win key with Left Ctrl key
    ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt
  </code></pre>
  
  <p>Some of them work - if I run <code>setxkbmap -option -option 'ctrl:nocaps'</code>, I get the correct behavior. However, some of the others are ignored, for example <code>setxkbmap -option -option 'ctrl:swap_lalt_lctl_lwin'</code>.</p>
  
  <p>One observation I've made is that the ignored options are displayed by <code>setxkbmap -query</code>, but not by <code>setxkbmap -print</code>. Here's a demonstration of this behavior.</p>
  
  <pre><code>$ setxkbmap -option -option ctrl:nocaps
  $ setxkbmap -query
  rules:      evdev
  model:      pc104
  layout:     us
  variant:    colemak
  options:    ctrl:nocaps
  $ setxkbmap -print
  xkb_keymap {
      xkb_keycodes  { include "evdev+aliases(qwerty)" };
      xkb_types     { include "complete"  };
      xkb_compat    { include "complete"  };
      xkb_symbols   { include "pc+us(colemak)+inet(evdev)+ctrl(nocaps)"   };
      xkb_geometry  { include "pc(pc104)" };
  };
  $ setxkbmap -option -option ctrl:swap_lalt_lctl_lwin
  $ setxkbmap -query                                  
  rules:      evdev
  model:      pc104
  layout:     us
  variant:    colemak
  options:    ctrl:swap_lalt_lctl_lwin
  $ setxkbmap -print                                  
  xkb_keymap {
      xkb_keycodes  { include "evdev+aliases(qwerty)" };
      xkb_types     { include "complete"  };
      xkb_compat    { include "complete"  };
      xkb_symbols   { include "pc+us(colemak)+inet(evdev)"    };
      xkb_geometry  { include "pc(pc104)" };
  };
  </code></pre>
  
  <p>I don't know how to dig into this any deeper. Some further environment information is</p>
  
  <ul>
  <li>linux distribution is NixOs</li>
  <li>window manager is XMonad, display manager is SLiM, no desktop manager</li>
  <li>keyboard layout is colemak (problem persists if I switch to qwerty)</li>
  <li>setxkbmap version is 1.3.0 according to the man page</li>
  </ul>