Change all 'xkb' xkb_keymap names to 'keymap'

To make it a bit more clear what it actually is.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Make build directory includes more explicit

We depend on parser.h which is generated by flex during the build, so
use an explicit $(top_builddir) rather than a relative path.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
makekeys: fix cross-compilation

makekeys must be built with the build-native compiler, not with $(CC)
which is the cross-compiler. The only sane way to achieve this seems to
be to use a separate Makefile.am for it.

This patch fixes the problem apparently caused by:

commit b5efe41f190cbb76eb1ca8ddf0c96990ddb83704
Author: Ran Benita <ran234@gmail.com>
Date:   Sat Mar 24 04:48:31 2012 +0200

    Make build non-recursive

There is no such thing as makekeys_makekeys_CC in automake.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
Make the context available to the parser

We will need the context to remove some global state.
Also make the Parse* function just return bool while wer'e at it.

Signed-off-by: Ran Benita <ran234@gmail.com>
Contextualize XkbFile IDs

Currently the IDs are assigned from a static variable inside
CreateXKBFile. This can lead to some unpleasantness with threads, so
maintain the counter in the context instead.

Signed-off-by: Ran Benita <ran234@gmail.com>
Make the context available to xkb_intern_atom

In preparation of contextualizing the atom table.
Since we touch every function call, also rename the function to
xkb_atom_intern, to match better with the rest (which will also be
renamed).

Signed-off-by: Ran Benita <ran234@gmail.com>

[daniels: Fixed for 'xkb' -> 'keymap'.]
Make the context available for XkbcAtomGetString

In preparation of contextualizing atom handling.
Since we touch every function call, we also rename the function to
xkb_atom_strdup to match xkb_atom_intern, and be more descriptive.

Signed-off-by: Ran Benita <ran234@gmail.com>

[daniels: Updated for xkb -> keymap.]
Make the context available for XkbcAtomText

And rename the function to xkb_atom_text.

Signed-off-by: Ran Benita <ran234@gmail.com>

[daniels: Updated for xkb -> keymap.]
Contextualize the atom table

Each context gets its own table, i.e. interning a string in one context
does not affect any other context.

The existing xkb_atom_* functions are turned into wrappers around a new
standalone atom_table object.

Signed-off-by: Ran Benita <ran234@gmail.com>

[daniels: Updated for xkb -> keymap.]
Shorten context to ctx

(This breaks the API.)

"context" is really annoying to type all the time (and we're going to
type it a lot more :). "ctx" is clear, concise and common in many other
libraries. Use it!

Signed-off-by: Ran Benita <ran234@gmail.com>

[daniels: Fix for xkb -> keymap change.]
Remove support for xkb_layout and xkb_semantics file types

These are two aggregate file types which are not used anywhere. We
maintain useful-enough backward compatibility in the parser, by treating
them as xkb_keymap. The keymap type allows for all types of components,
so they will still compile fine if they ever come up.

Signed-off-by: Ran Benita <ran234@gmail.com>
Add XKB version of X11 keysyms

With this we're now completely standalone.

add vendor keysyms
Use our own keysyms
Merge remote-tracking branch 'krh/keysyms'

Conflicts:
	src/keysym.c
	src/misc.c
	src/text.h
	src/xkbcomp/expr.c
	src/xkbcomp/parser.y
	src/xkbcomp/parseutils.c
	src/xkbcomp/symbols.c

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Remove keycode_range_is_legal

It was a pretty pointless check.  Also sanitise the _x11 variant to
actually do what it says on the box.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Include xkbcommon-names.h from xkbcommon.h

So clients only have one file to include.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Add common LED names to xkbcommon-names.h

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Rename serialise to serialize

Yes, British English is correct, but unfortunately we've lost that
battle.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Move KcCGST API to internal-only

And don't export it.  We don't need it for X11 support, let alone
anything else.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Change xkb_key_get_syms to just return a bare int

Signed-off-by: Daniel Stone <daniel@fooishbar.org>