115

Currently I use the character palette applet in gnome panel to put special characters into text.

This is okay, but I have to stop typing, select the character I want from the applet and then copy and paste.

Is there a way to simply type special characters with different key combinations? If so, how do I do it?

4
  • 1
    Run gucharmap. Applications -> Accessories -> Character map.
    – Anonymous
    Commented Nov 10, 2011 at 21:54
  • 4
    Do for the compose key in right alt gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt']". Source askubuntu.com/a/784005/25388 Commented Jun 7, 2016 at 16:42
  • 1
    @LéoLéopoldHertz in Ubuntu 20.04, to enable the Compose key via a GUI, I was able to use in gnome-tweaks Commented Mar 19, 2022 at 22:49
  • This is an old question... today on most distrib you'll find a US French keyboard that makes things easy :) Commented May 22, 2023 at 20:58

9 Answers 9

120

Often this is easier with the compose key. With that configured you use key combos to get the special characters. For instance:

  • For ë you press Compose, ", e.
  • For you press Compose, ~, e.
  • For ô you press Compose, ^, o.
  • For á you press Compose, ', a.
  • For à you press Compose, `, a.
  • For you press Compose, =, e.
  • For £ you press Compose, -, l.

Note that you do not have to hold down the compose key; just press each key in order.

To set the compose key go to System -> Preferences -> Keyboard, then Layouts -> Options. Open up Compose Key Position and choose a key. I use Right-Alt.

14
  • 21
    Spot on, except for one thing - you don't need to hold down the compose key at all. Just hit the compose key, `, then a, and voilà! Commented Jul 29, 2010 at 13:16
  • 7
    I recommend assigning the Compose key to Caps Lock, which I am pretty sure only comes standard on keyboards to annoy people.
    – tyjkenn
    Commented Aug 16, 2012 at 1:15
  • 3
    á <-- it worked!
    – Dave
    Commented Jun 26, 2015 at 4:09
  • 4
    At least for Ubuntu 16.04 the described path doesn't work. Neither is there a preferences section in System (it's called System Settings), nor is there a Layout section in Keyboards (it's called Keyboard, without s).
    – MERose
    Commented Jan 10, 2018 at 19:59
  • 4
    This is the answer for distros from 10 years ago (which reflects the documentation, ironically). Neither one works for 20.04. The question needs to be tagged as ubuntu-10 or something. Commented Sep 21, 2020 at 17:57
40

If you know the unicode value of the character you'd like to type, hit CTRL+SHIFT+u and then type the unicode.

Example:

CTRL+SHIFT+u 0 3 b b ENTER

results in λ.

6
  • 1
    I seriously didn't know this was possible. Many thanks. For anyone wondering where to find the unicode umm... codes, unicode.org/charts/index.html is the place to go.
    – taneli
    Commented Jul 25, 2012 at 20:02
  • 9
    Seriously, only people on Windows do that.
    – rds
    Commented Sep 19, 2013 at 20:01
  • do you know how to do this in wps office?
    – Marcel
    Commented Oct 19, 2015 at 21:29
  • @taneli also you can use other way. click the Keyboard Layout Icon on the top bar, then click the Character Map link in the dropdown menu.
    – user513724
    Commented Mar 20, 2016 at 13:58
  • @rds I disagree. I've been a Linux user since 1994 and taught many other users the hex method since my 80's DOS days. From around 2008, I started to teach them how to use US-Intl-AltGR + Compose instead. So maybe you mean to say "few new users rely on the hex code method".
    – Wil
    Commented May 30, 2022 at 17:05
16

Here is an answer close to 1st answer, with a little alternative: I do not need to use compose because I set my keyboard to English US international instead of English US or English UK.

So I use the following combo:
" then e for ë
' then e for é
` then e for è
` then a for à
~ then n for ñ

and
" then spaceBar for "
' then spaceBar for '
` then spaceBar for `
~ then spaceBar for ~
Alt Gr plus 5 for

6
  • Is this still the case in Ubuntu 15.10? I don't get this working anymore. Setting either 'English (US, international, with dead keys)' or 'English (international, dead keys via AltGr)' doesn't work.
    – Lode
    Commented Jan 28, 2016 at 21:10
  • 1
    I've found that setting the 'English (US, international, with dead keys)' actually works if set via lxkeymap (sudo apt-get install lxkeymap). Even more interesting, it only needs to be set once, as if some extra config is changed to make it work. (Dutch source: sites.google.com/site/computertip/toetsenbord)
    – Lode
    Commented Jan 28, 2016 at 21:28
  • @Lode sorry I ve not install 15.10 yet.
    – Boris
    Commented Mar 24, 2016 at 19:23
  • This is imho the actual answer, at least for all (Dutch) users coming from Windows.
    – Rich_Rich
    Commented Dec 30, 2022 at 11:29
  • 1
    As a programmer, dead keys are a deal breaker. I use the ~, ', ", ` a lot in programs and having to hit two keys would be terrible. Using the Compose key is much easier for me. I don't do much typing with diacritics, luckily. Commented Jan 29, 2023 at 17:04
12

The easiest way I've found to do this is to set your keyboard layout to USA International (AltGr dead keys), then use Right-Alt+whatever to get the character you want. Obviously this does not work for all international/special characters, so if you need one that's not available through this method, use one of the other methods listed here.

Wikipedia gives us a handy diagram of the available characters and the keys they are mapped to.

5
  • It's also relatively easy to edit a keyboard layout file and tailor it to one's needs: — – «» “” … Commented Sep 4, 2010 at 0:32
  • 1
    Most local keyboard layouts (e.g. Belgian, French, etc.) also support AltGr, but the selection and location of special characters will be different. The exact layout can be seen on a similar diagram from inside the keyboard configuration.
    – JanC
    Commented Jun 9, 2011 at 13:23
  • 2
    Using English (international AltGr dead keys) as keyboard layout, use Right-Alt + R to get ë/Ë. Right-Alt + Q = ä/Ä; Right-Alt + P = ö/Ö; Right-Alt + Y = ü/Ü; Right-Alt + S = ß
    – c0xc
    Commented Apr 26, 2017 at 15:13
  • Alt-Gr + dead key is available from scratch. It saved my life when selecting a Wi-Fi hotspot with a special character in the name, as I was performing a fresh Ubuntu install. Commented Jul 8, 2018 at 17:02
  • Thanks, but many accented characters are missing in the default keyboard chart, like there is ç but no ş and no š either - but fractional numbers like ¾ and a thorn character. Looks like a leftover from some 8-bit MS-DOS page or some other US-American notion of "international". Commented Jan 3 at 14:30
6

Note for dummies like myself. It took me a while...

  1. Press Cont & Shift & u together
  2. Let go of all three keys
  3. input code (for example: 00e1 for á)
  4. Enter
2
  • 2
    Can you imagine someone writing a long text with accented characters using your approach?! It's not feasible. Commented Jul 29, 2018 at 21:24
  • 2
    You don't need the leading zeroes. Just e1 will work for á.
    – wjandrea
    Commented Apr 27, 2019 at 23:30
5

If you are on Ubuntu 20.04 :

Go to Setting > Region and language > on the Input Sources Click on "+" button and choose English (United States) then English(US,intl.,with dead keys).

' + e -> é
" + e -> ë
` + e -> è
etc.

3
  • 1
    The exact same answer was already posted here by user Boris, and with a better explanation, yet it seems like this is a good extra step since later versions do not fully support their method (as commented).
    – Pizza
    Commented Apr 9, 2021 at 7:29
  • It's not the same answer. Oussama provided the only solution that works for the latest releases of Ubuntu. Thanks!
    – prismspecs
    Commented Mar 11, 2022 at 11:56
  • I'm on Ubuntu 22 and that keyboard option no longer exists.
    – Cerin
    Commented Feb 16 at 22:26
2

You can use Ctrl + U and type Unicode number of the sign you want to type. So for ē you have to type Ctrl + U + 113.

1
  • 2
    Ctrl + U is unlderline.
    – virtualxtc
    Commented Jan 21, 2019 at 19:05
1

The compose key it's defined to do key combinations. It's Used to produce special characters like tildes and accents. To see the list of key names open /usr/share/X11/xkb/rules/xorg.lst and search for "compose".

This technique was tested in Lubuntu. Two ways to enter special characters:

  1. Call setxkbmap to define compose key in the current session
  2. Define compose key permanently

1). Command line $ setxkbmap -option "compose:rwin". Example to define compose key right 'Win'.

2). Open file /etc/default/keyboard and add line XKBOPTIONS="compose:rwin" (requires restart).

Example to write character ã after defining compose key. Press the compose key, then key 'a' and finally the tilde (AltGr + 4).

https://www.eovao.com/en/a/special%20characters%20ubuntu%20linux/5/how-to-enter-special-characters,-accents-and-tildes-in-ubuntu

1

Change your keyboard layout to us. intl with dead keys

Go to

Control center > keyboard > layout > add > set country to us > Select us intl. with dead keys.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .