Keyboard – Mapping Key Combinations with Xmodmap

keyboardkeyboard shortcutsxmodmap

I'm trying to achieve the following mapping
keycode 135 = <Ctrl-C>

Is it possible to achieve this in some way?

Best Answer

That's not possible with xmodmap. I don't think it's possible with XKB either, but I'm not sure.

Is your aim to have a key that's always identical to pressing Ctrl+C (e.g. in a terminal, it would interrupt the running program), or to have a clipboard copy key? If the latter, try

keycode 135 = XF86Copy

The XF86Copy keysym is intended for a copy-to-clipboard key, but I don't know how many applications have that shortcut out-of-the-box.

If you're on Ubuntu, and possibly even if you aren't, the recommended method to set up additional (“multimedia”) keys is keytouch.

If you really want the key to be equivalent to Ctrl+C, your desktop environment or window manager may let you bind the keysym to a command that generates key press and release events for that key combination. If you prefer or must use a DE/WM-agnostic method, you can use xbindkeys to bind an arbitrary shell command to a key, and xmacro to manufacture key events to send to a window. You'll still need to have a keysym associated with the key; a good choice is F13 (or wherever the numbered function keys on your keyboard leave off). Then put this in your ~/.xbindkeysrc:

"{ echo KeySymPress Control_L; echo KeySym C; echo KeySymRelease Control_L; } | xmacroplay"
  F13

You'll need to start xbindkeys with your X session — from your ~/.xinitrc or ~/.xsession if you have one, or from the appropriate configuration interface in your DE/WM.

Related Question