Inkscape and Gimp on OS X: ALT key and copy/paste issues.

5 December, 2009 - 03:13
Categories:

Inkscape and the Gimp are trusty tools in my daily tool box for various vector and bitmap image editing. Being open source applications, they have firm roots in the Linux world, but luckily they are also available for Windows and Mac OS X. No wonder I have them installed on my MacBook too.

The problem

On OS X, Inkscape and the Gimp are not completely native applications, but they depend on X11.app. This extra layer makes the user experience unfortunately less streamlined than with native applications. Especially the keyboard interaction of an out of the box setup can be clunky.

For example: in Inkscape on Linux, the ALT key is used for some operations (kerning) and handy shortcuts (cloning), while in OS X you need the OPTION/ALT key for entering accented and other special characters (e.g. "é", "ü", "î" or "€" on my querty keyboard). So how do we combine these features (I need both) in Inkscape on OS X? With my default/out of the box installation of Inkscape, I only had the ALT key as a shortcut key like in Linux. Entering accented characters was not possible unfortunately. Really annoying because I really need to use those from time to time in my native language Dutch.

Another problem is how to do copy/paste between native OS X application and Inkscape. For example, you're designing something like a flyer in Inkscape and you need to copy over some text from an email or text document. Typing everything over manually feels so medieval, doesn't it? Apart from the interaction problem, there is also the usability problem that X11.app application typically use CONTROL-C and CONTROL-V for copy/paste, while the native OS X applications use COMMAND-C and COMMAND-V.

The solution (kind of)

A real solution for this kind of problems would be native applications (and some nice people are working on that), but as long we're stuck with an X11.app layer in between, I'm afraid we'll have to cry ourselves asleep with some workarounds.

A well put google query can get you somewhere. And that's what I've done too. You can find many clues for example here:

My setup tweaks

Mainly for my own reference, I keep a checklist to document the various tweaks I did to my setup.

  • On most sources I found, people suggested to disable the options "Emulate three button mouse", "Follow system keyboard layout" and "Enable key equivalents under X11" on the "Input" tab of the X11.app preferences. I'm not completely sure of the precise meaning of these options, but it appears to be a good idea to keep them disabled.
  • The ALT key conflict can be fixed by exploiting the fact that there are two OPTION/ALT keys: a left and a right one. This can be done by creating (or editing if you already have one) a X11 keymap modification file .xmodmap in your personal home directory. Create or edit this file .xmodmap and add the following (lines beginning with "!" are comments):
    ! Change the left OPTION/ALT key (keycode 66) to be Alt 
    ! and leave the right OPTION/ALT key (keycode 69) untouched 
    ! as Mode_switch for OS X style entering of accents.
    keycode 66 = Alt_L

    After restarting X11.app (and Inkscape), you should be able to do both font kerning or cloning (with the left OPTION/ALT key) and entering accented characters with help of the right OPTION/ALT key.

  • Switching the CONTROL and COMMAND key, so you can do copy/paste with COMMAND-C/COMMAND-V can also be done with some tweaks in your .xmodmap file:
    ! Switch meta and control:
    ! Assign the Meta_L event to the (right) CONTROL key (keycode 67),
    ! assign the Control_L and Control_R events to the COMMAND keys
    ! (keycodes 63 and 71).
    keycode 67 = Meta_L
    keycode 63 = Control_L
    keycode 71 = Control_R
    ! Redefine the related modifiers keys, because we have now 
    ! only one Meta key event and two Control key events instead of one.
    clear mod2
    clear control
    add mod2 = Meta_L
    add control = Control_L Control_R

    Again, a restart of X11.app is required for these changes to take effect.

  • Enabling "syncing" between the OS X pasteboard and the X11 clipboard is possible on the "Pasteboard" tab of the X11.app preferences:

    Note that I only enabled the option "Update CLIPBOARD when Pasteboard changes", which means that I can only copy text from OS X applications to Inkscape. If you enable "Update Pasteboard when CLIPBOARD changes" too, you can also copy text from Inkscape to OS X applications, but then copy/pasting within Inkscape will stop working. Because I almost never need to copy from Inkscape to OS X and need copy/paste within Inkscape a lot, it was a no-brainer to keep this option disabled. Moreover, you can always temporarily enable the option without the need to restart Inskscape or X11. Handy.
12 January, 2010 - 00:40

Inkscape - MacBookPro

Joao Muniz (not verified)

Dear Stefaan,

Very nice blog I must say!

I have exactly the same problem... I tried the suggested workaround on my macbook pro with no luck! ;-( Still the same problem... Is this workaround to remap a standalone keyboard? Do you know how to remap the keyboard in macbooks?

Second, what should I do to make my Inkscape with the same look as yours? I mean, with this "light" colour and round-corner icons!!!

Thank you very very much in advance!

Cheers,

Joao.

12 January, 2010 - 10:27

Hi Joao, I'm not sure why it

slippens

Hi Joao,

I'm not sure why it doesn't work for you. Maybe it's because I use a QWERTY keyboard (the "builtin" on my macbook pro, not a standalone) and you use another keyboard layout? Are you sure you got the filename ".xmodmap" right and put it in your home directory (something like "/Users/Joao/")? Also note that a restart of X11.app is required.

About the round corner icons: I just installed Inkscape 0.47, which I downloaded from the official inkscape.org website (the download itself is actually from sourceforge.net). I did nothing special to get rounded corner buttons

6 January, 2010 - 17:03

Thank You

Cody (not verified)

You've demonstrated an absolutely essential workaround. I couldn't work through even the most ultra-basic tutorial on the Inkscape website without an Alt key.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • No HTML tags allowed
  • Lines and paragraphs break automatically.

More information about formatting options