Making CAPS LOCK another CTRL key in the console

Gabriel L. Somlo somlo at
Tue Jan 4 13:49:05 UTC 2011

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.


On Mon, 3 Jan 2011 at 15:47, <smooge at> wrote:
> On Mon, Jan 3, 2011 at 15:20, Bernie Innocenti <bernie at> wrote:
> > In Debian & Ubuntu, this can be done by setting XKBOPTIONS=ctrl:nocaps
> > in /etc/default/console-setup.

> Several. The gnome utility for keyboard can map Capslock to Control
> (as god/Sun intended). Or I use the following:
> #!/bin/sh
> xmodmap - <<EOF
> !
> ! Swap Caps_Lock and Control_L
> !
> remove Lock = Caps_Lock
> remove Control = Control_L
> keysym Control_L = Caps_Lock
> keysym Caps_Lock = Control_L
> add Lock = Caps_Lock
> add Control = Control_L
> keycode 22 = BackSpace
> keycode 107 = Delete

More information about the devel mailing list