On Tue, 4 Jan 2011 08:49:05 -0500, "Gabriel L. Somlo" <somlo@xxxxxxx> wrote: > I personally use > > setxkbmap -option ctrl:swapcaps > > However, I believe the OP was asking about whether it's possible to > swap Control and CapsLock for the console, outside/before X, so that > the change is available system-wide, regardless of which virtual > console one happens to be using at the time. > > I'm interested too, because my 'setxkbmap' based approach fails in > interesting ways when using VMs in virt-manager: e.g., pushing control > counts as control inside the VM, but turns on caps lock within my > desktop's X session, and so on. xkb is nasty for nested setups because while the vast majority of work is done in the client, some parts of it are done in the server. events are keycode-only and it's the client's responsibility to translate this into a meaningful glyph, based on the keymap. e.g. if the host is on qwerty and the client on azerty, both still receive the same keycodes but produce different glyphs. certain xkb actions such as setting modifiers, changing groups and toggling leds are based on the local keymap but happen in the server. in your case, if you setxkbmap in the client this doesn't change the host's keymap, so the host still assumes caps is CapsLock, not Control_L and hence toggles the leds. the only way around this is to always sync the keymaps by running the same command in the host and the client. Cheers, Peter -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel