Search code examples
ubuntusublimetextsublimetext3

Can't type accented characters in Sublime Text 3 (Ubuntu 14.10)


For some reason I'm unable to type accented characters like á å, ä in Sublime Text 3. Instead I only get the following output ´a °a, ¨a. The hat symbols get typed when I press their key instead of allowing me to type an accented character, I'm using an icelandic keyboard by the way.

Sublime text build 3065, Ubuntu 64 bit. Running on Ubuntu 14.10.

This issue doesn't show up for me on Ubuntu 14.04.


Solution

  • I found a way to fix this, in Sublime Text go to Preferences > Key Bindings - User, add the code below to the file that opens Default (Linux).sublime-keymap and save it.

    Note that this is a hacky fix and may not contain all accented letters you need/want, in that case you could easily add those missing letters. Also note that this fix doesn't attack the root of the problem which I think has something to do with Ubuntu 14.10.

    [
        // missing accented characters fix for ubuntu 14.10
    
        // a, [á, å, ä]
        { "keys": ["´","a"], "command": "insert", "args": {"characters": "á"}},
        { "keys": ["°","a"], "command": "insert", "args": {"characters": "å"}},
        { "keys": ["¨","a"], "command": "insert", "args": {"characters": "ä"}},
    
        // A, [Á, Å, Ä]
        { "keys": ["´","A"], "command": "insert", "args": {"characters": "Á"}},
        { "keys": ["°","A"], "command": "insert", "args": {"characters": "Å"}},
        { "keys": ["¨","A"], "command": "insert", "args": {"characters": "Ä"}},
    
        // e, [é, ë]
        { "keys": ["´","e"], "command": "insert", "args": {"characters": "é"}},
        { "keys": ["¨","e"], "command": "insert", "args": {"characters": "ë"}},
    
        // E, [É, Ë]
        { "keys": ["´","E"], "command": "insert", "args": {"characters": "É"}},
        { "keys": ["¨","E"], "command": "insert", "args": {"characters": "Ë"}},
    
        // i, [í, ï]
        { "keys": ["´","i"], "command": "insert", "args": {"characters": "í"}},
        { "keys": ["¨","i"], "command": "insert", "args": {"characters": "ï"}},
    
        // I, [Í, Ï]
        { "keys": ["´","I"], "command": "insert", "args": {"characters": "Í"}},
        { "keys": ["¨","I"], "command": "insert", "args": {"characters": "Ï"}},
    
        // o, [ó, ö]
        { "keys": ["´","o"], "command": "insert", "args": {"characters": "ó"}},
        { "keys": ["¨","o"], "command": "insert", "args": {"characters": "ö"}},
    
        // O, [Ó, Ö]
        { "keys": ["´","O"], "command": "insert", "args": {"characters": "Ó"}},
        { "keys": ["¨","O"], "command": "insert", "args": {"characters": "Ö"}},
    
        // u, [ú, ů, ü]
        { "keys": ["´","u"], "command": "insert", "args": {"characters": "ú"}},
        { "keys": ["°","u"], "command": "insert", "args": {"characters": "ů"}},
        { "keys": ["¨","u"], "command": "insert", "args": {"characters": "ü"}},
    
        // U, [Ú, Ů, Ü]
        { "keys": ["´","U"], "command": "insert", "args": {"characters": "Ú"}},
        { "keys": ["°","U"], "command": "insert", "args": {"characters": "Ů"}},
        { "keys": ["¨","U"], "command": "insert", "args": {"characters": "Ü"}},
    
        // y, [ý, ÿ]
        { "keys": ["´","y"], "command": "insert", "args": {"characters": "ý"}},
        { "keys": ["¨","y"], "command": "insert", "args": {"characters": "ÿ"}},
    
        // Y, [Ý, Ÿ]
        { "keys": ["´","Y"], "command": "insert", "args": {"characters": "Ý"}},
        { "keys": ["¨","Y"], "command": "insert", "args": {"characters": "Ÿ"}}
    ]