Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've got two systems I use across Synergy. On the main one I have a normal keyboard that I swap caps lock and ctrl for. So I do:

xmodmap -e 'keycode 66 = Control_L'
xmodmap -e 'clear lock'
xmodmap -e 'add Control = Control_L'

Where keycode 66 is my caps lock key.

The trouble is that I can't get this key to act as a control key on the other machine I connect to with synergy.

The strange thing is that if I plug a keyboard into the machine, and run xev, the control key there is keycode 37. When I then hit my modified control key (keycode 66 on the master) it's registering as keycode 37 on the remote machine. So according to xev, it should be picking it up as a control keypress.

Anyone have any hints on if Synergy is doing something overly helpful for me?

share|improve this question
Do you run into the same problem if you use Xkb to swap control/capslock? You should be able to do this through the keyboard control panel application, or with setxkbmap. xmodmap has been known to screw things up for xkb aware applications. – James Henstridge Nov 17 '11 at 1:16
Oh awesome, thanks so much. Doing the action via setxkbmap -option ctrl:swapcaps was magical and works. – Rick Nov 17 '11 at 23:58

So it seems synergy and xmodmap don't play nice. However, I could accomplish the same goal by using

setxkbmap -option ctrl:swapcaps

Which is now making my control key work across both machines.

share|improve this answer
Thanks to James for the comment that provided the solution. – Rick Nov 18 '11 at 0:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.