Where can I find a list of the xkb_symbols and their meaning?

To clarify let me give some examples for xkb_symbols:

  • dead_acute
  • dollar
  • Down
  • Delete
  • adiaeresis
  • Adiaeresis
  • dead_circumflex
  • KP_0 (KP_ being likely a prefix for "number pad" symbols)
  • KP_divide
  • .... (many more)

Reading this Arch Wiki, I understand that xkb_symbols are actually numbers. Those numbers for xkb_symbols are assigned to some string representation somewhere (This is mainly the question: where?). For instance one could look at /usr/include/X11/keysymdef.h which among many #defines holds the following one:

#define XK_KP_0                          0xffb0 

While at least there I can find XK_KP_0, which seems to resample KP_0 (being simple once again prefixed), I still have no information about all the other symbols like (i.e. dead_circumflex, dollar, etc...).
I would need such a list of defined string representations for example to create, adjust or modify a keyboard layout. Of course I could derive some insight from looking at pre-existing keyboard layout files, but there needs to be a reference to it. I would hence ask here for someone to point me to it.

more background

In the files, which used to define, adjust and modify keyboard layouts located here /usr/share/X11/xkb/symbols/, like for example the de (German) keyboard layouts /usr/share/X11/xkb/symbols/de the xkb_symbols are heavily used.

In principle this is how such a file looks like (taking the a part of the de file):

// based on a keyboard map from an 'xkb/symbols/de' file

xkb_symbols "basic" {

    include "latin(type4)"


    key   { [         2,   quotedbl,  twosuperior,    oneeighth ] };
    key   { [         3,    section, threesuperior,    sterling ] };
    key   { [         4,     dollar,   onequarter,     currency ] };

I would like to know a list of of xkb_symbols like quotedbl, twosuperior used in the snippet above.

  • 5
    These symbols are called keysyms. They are not specific to XKB, they are used by X11 itself. The file /usr/include/X11/keysymdef.h contains them all. What more are you after? – Gilles 'SO- stop being evil' Nov 17 '13 at 20:02
  • Thank you for your comment. I am supprised, having mentioned the file above myself, that I have not figured that there are indeed all the definitions in there. Your comment made me look again and yes there are all the symbold keysyms defined. if you like to you can form an short answer, which then could be accepted so that the question is solved. thank you – humanityANDpeace Nov 17 '13 at 20:34
  • A heads up: it seems that different X11 client executables have different ideas on the list of symbols that you can use in your keyboard. For example, while writing my own APL keyboard layout, I took some exotic symbol names from my system's /usr/include/X11/keysymdef.h such as circle, downstile, upstile, downtack, uptack, quad, jot, identical. They worked in most X11 clients, but not in others (such as urxvt). So I replaced them with their Unicode number UXXXX and now they work in all clients. – Tobia Apr 29 '19 at 7:24

I found the following resources which might have what you're looking for.

I think I would start with the 4th link to the X.org website. There was also a comment there:

The XKB data files for the various keyboard models, layouts, and locales are now maintained by the X Keyboard Config project on freedesktop.org.

So the link to freedesktop.org might be the best place to start too. Specifically they describe the mission as such:

There are many X Window implementations which have very poor support for non-standard keyboards, national layouts and options.

Open Source X Window System implementations (xfree86, x.org) currently have non-synchronized XKB configuration databases: the bugs fixed in one repository are not reflected in the other, new configuration elements are added (in best case) separately and independently to both CVS trees - but usually only one tree gets them. Also, these implementations contain unbalanced and unstructured layout trees (very often one country/language have several layouts, each with its own set of variants).

Commercial X Window System implementations cannot support large variety of national layouts - usually, because of lack of resources. So users from "exotic" countries feel offended and frustrated - their environments are not complete.

The solution which would guarantee quality support for the keyboard configuration data is to have single repository which would serve as meta-project for X servers and OS distributions. X Keyboard Configuration Database is trying to be the one.

Freedesktop.org also maintains a mailing list which might be better at helping you navigate the sea of information about XKB.

|improve this answer|||||

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