78

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?

92

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.

| improve this answer | |
  • 13
    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à! – Jeremy Kerr Jul 29 '10 at 13:16
  • 4
    I recommend assigning the Compose key to Caps Lock, which I am pretty sure only comes standard on keyboards to annoy people. – tyjkenn Aug 16 '12 at 1:15
  • 2
    á <-- it worked! – Dave Jun 26 '15 at 4:09
  • 2
    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 Jan 10 '18 at 19:59
  • 1
    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. – Chaim Eliyah Sep 21 at 17:57
26

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 λ.

| improve this answer | |
  • 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 Jul 25 '12 at 20:02
  • 5
    Seriously, only people on Windows do that. – rds Sep 19 '13 at 20:01
  • do you know how to do this in wps office? – Marcel Oct 19 '15 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 Mar 20 '16 at 13:58
11

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.

| improve this answer | |
  • It's also relatively easy to edit a keyboard layout file and tailor it to one's needs: — – «» “” … – ΤΖΩΤΖΙΟΥ Sep 4 '10 at 0:32
  • 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 Jun 9 '11 at 13:23
  • 1
    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 Apr 26 '17 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. – Laurent Caillette Jul 8 '18 at 17:02
9

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

| improve this answer | |
  • 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 Jan 28 '16 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 Jan 28 '16 at 21:28
  • @Lode sorry I ve not install 15.10 yet. – Boris Mar 24 '16 at 19:23
4

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
| improve this answer | |
  • Can you imagine someone writing a long text with accented characters using your approach?! It's not feasible. – Alexandre V. Jul 29 '18 at 21:24
  • You don't need the leading zeroes. Just e1 will work for á. – wjandrea Apr 27 '19 at 23:30
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.

| improve this answer | |
  • 1
    Ctrl + U is unlderline. – virtualxtc Jan 21 '19 at 19:05
0

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

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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