|
095a7f4c
|
2012-09-11T16:49:04
|
|
xkbcommon-keysyms: Add header protection
As there is currently no stable release of xkbcommon, other projects might
want to include a copy of the keysyms so they can be used even though
libxkbcommon may not be available on the machine. However, if xkbcommon.h
is still included, conflicts will occur. Hence, to avoid nasty hacks,
simply include a header protection in xkbcommon upstream.
[daniels: Added protection to Makefile.am's update-keysyms, as well as
XKB_KEY_NoSymbol, and a comment noting that it shouldn't be
updated directly.]
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
1aa6e2b1
|
2012-08-28T19:07:07
|
|
test/rules-file: add benchmark
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
480f919d
|
2012-08-29T11:54:05
|
|
test: add rmlvo-to-kccgst tool
For a quick look at what components result from the rules.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
f3c4032f
|
2012-08-30T20:23:35
|
|
Set log level for tests through env, not directly
This way the test logs have all the information, but we don't get eye
bleed every time we run them manually. One can always use
TESTS_ENVIRONMENT (we correctly use AM_TESTS_ENVIRONMENT now), or set
the envvars from the shell.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
8c1b1b0e
|
2012-08-29T15:02:40
|
|
Add xkbcomp/keymap.c and move some code there
Add CompileKeymap to do most of what compile_keymap_file does now, and
move UpdateKeymapFromModifiers along with it from (mostly unrelated)
compat.c.
Also rename UpdateKeymapFromModifiers to UpdateDerivedKeymapFields,
because it does more than update the modifiers.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
cdc228ea
|
2012-08-13T11:00:43
|
|
Organize xkbcomp/ header files
Various non-functional changes:
- Re-add keycodes.h and move some stuff there.
- Add parser-priv.h for internal bison/flex stuff.
- Don't include headers from other headers, such that file dependencies
are immediate in each file.
- Rename xkbcomp.h -> ast.h, parseutils.{c,h} -> ast-build.{c,h}
- Rename path.{c,h} -> include.{c,h}
- Rename keytypes.c -> types.c
- Make the naming of XkbFile-related functions more consistent.
- Move xkb_map_{new,ref,unref} to map.c.
- Remove most extern keyword from function declarations, it's just
noise (XKB_EXPORT is what's important here).
- Append XKBCOMP_ to include guards.
- Shuffle some code around to make all of this work.
Splitting this would be a headache..
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
0cc5ae33
|
2012-08-10T13:30:44
|
|
Remove xkbcomp/misc.c
The KeyName functions are more appropriate in keycodes.c.
The ProcessIncludeFile can go to path.c along with the other functions
dealing with includes.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
3199ea73
|
2012-05-14T14:33:29
|
|
android: add build files
squashed: android: set xkb config path
Conflicts:
Makefile.am
|
|
8fe2a484
|
2012-08-03T03:32:30
|
|
Rename xkey test to keysym
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
5cf4f510
|
2012-08-03T02:57:02
|
|
Staticise xkb_map_new_from_kccgst
We didn't expose this to the outside world, and its only trivial user
was xkb_map_new_from_rules.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
e756e9b5
|
2012-08-03T04:02:31
|
|
test/dump: Remove superfluous test
No longer necessary now we have stringcomp doing a full round-trip test
for us.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
4c212753
|
2012-04-08T02:20:39
|
|
Add an interactive evdev test
The program reads key events from evdev input devices, puts them through
the library and prints some information about them. It's nice for
experimenting, quick testing and trying to break it with random stuff
(already found some!).
It is called "interactive" for lack of a better name. It's a bit
hackish, but can easily be extended, made more portable etc, in the
future.
Signed-off-by: Ran Benita <ran234@gmail.com>
Conflicts:
Makefile.am
test/.gitignore
|
|
74be1762
|
2012-07-23T21:30:28
|
|
Remove alloc.{c,h}
These functions are more appropriate elsewhere now.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
3dc1252d
|
2012-07-22T19:38:14
|
|
Add test for logging functionality
Just to make sure everything works properly.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
70f35cfb
|
2012-07-20T13:10:13
|
|
Add logging API
Add new public API to provide the library users with some options to
control and customize the logging output from the library. It is based
upon the skeleton from the libabc demo libray:
https://git.kernel.org/?p=linux/kernel/git/kay/libabc.git
which is public domain and works pretty well.
This requires passing in the context object in every logging call, and
thus the conversion is done file by file. We also remove the global
warningLevel variable in favor of a verbosity level in the context,
which can be set by the user and is silent by default.
One issue is the ACTION calls, which, while nice, do not play very well
with line- and priority-based logging, and would require some
line continuation handling or keeping state or some other compromise. So
instead remove these and just inline them with their respective
warning/error. So instead of:
ERROR("Memory allocation failed\n")
ACTION("Removing all files on hardisk\n")
its something like that:
log_err("Memory allocation failed; Removing all files on harddisk\n")
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
5e164ff1
|
2012-07-23T00:41:27
|
|
build: drop the include/ directory
The include/ dir is somewhat redundant and makes it just a bit harder to
handle the -I directives from out side of automake; without it the
default $(top_buildir) just works.
Here's also some further justifications I found:
http://smcv.pseudorandom.co.uk/2008/09/pc-uninstalled/
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
ba4320f7
|
2012-07-16T22:45:16
|
|
Move indicators.c code into compat.c
It is only used there. Allows some refactoring.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
dfa0929c
|
2012-07-16T22:15:43
|
|
Convert macros to inline functions
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
cc8b0682
|
2012-07-16T17:53:46
|
|
Move alias.c functions into keycodes.c
They are only used in this file.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
b6e2a56d
|
2012-07-16T11:06:33
|
|
Add common linked list implementation
Taken from xserver/include/list.h. The changes made are:
* Drop the xorg_ prefix and some typedef from the end.
* Rename _for_each_entry macros to just _foreach (like darray).
* Rename list_is_empty to list_empty (like darray).
* Add a list_replace function which we use later.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
fe4f9909
|
2012-07-14T00:27:19
|
|
Move CompileKeymap into xkbcomp.c
It's nicer to see the code where its used. Removes keymap.c.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
57374c32
|
2012-07-13T18:55:10
|
|
Rename KSIsLower/Upper and move to keysym.c
Seems like a more natural place, and allows to remove the src/misc.c
file.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
3e65531f
|
2012-07-13T17:31:30
|
|
Move ComputeEffectiveMap code and avoid some duplication
The ComputeEffectiveMap function is only called from keytypes.c, with
the last argument NULL, so we can move it there and remove some code.
The function XkbcVirtualModsToRealMods, of which the above is the only
user, is already implemented more simply in compat.c, so make this one
non-static and use it. This leaves src/xkb.c empty, so remove it.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
a3378338
|
2012-07-13T17:10:48
|
|
remove unused function xkb_canonicalise_components
commit 46441b1184dfa8553409d493ae6336aabb900d79 removed this from the
public API, and we don't need it internally. So send it to the archives.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
3e86ebca
|
2012-07-12T14:15:08
|
|
Add a library of common test functions
Including creating a context (will come in useful soon), opening and
reading files, and compiling keymaps.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
0015604a
|
2012-04-10T21:20:27
|
|
Add a test for the results of key sequences
This test verifies the core purpose of this library, which is to
translate the user's keypresses into keysyms according to the keymap and
the XKB specification.
The tests emulate a series of key presses, and checks that the resulting
keysyms are what we expect.
Several of the tests currently fail, and plenty more should be added and
maybe split up.
It also currently uses an RMLVO keymap, which comes from the
xkeyboard-config data set, and whose behaviour may change in the future.
So it should probably be changed to use several files of our own, but
it's OK for now.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
9baf62f3
|
2012-05-20T20:51:50
|
|
Remove configure check for X11 keysym files
Since every user building the library, even from git, doesn't need these
files anymore, there's no need to check for them (this goes for makekeys
as well).
The only remaining user is the update-keysyms target, but whoever will
run it again (if ever) will probably know what he's doing (at least
enough to run git diff before git commit). And the defaults should be
fine too.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
e0524296
|
2012-06-08T13:10:28
|
|
Add API for getting unicode representation of a keysym
This code uses a table and code derived from
http://www.cl.cam.ac.uk/~mgk25/ucs/keysym2ucs.c
The added API calls are:
xkb_keysym_to_utf32
xkb_keysym_to_utf8
[daniels: Changed API to be more in line with keysym_get_name, added
test, changed formatting to 4-space.]
|
|
d3dfd7de
|
2012-06-04T16:14:42
|
|
Use $(top_builddir) rather than relative paths
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
734be500
|
2012-06-04T14:06:01
|
|
Work around stupid automake dependency-tracking bug
bison/flex-generated objects, when being run in a VPATH build with
--disable-dependency-tracking (i.e. Gentoo), would fail to be created
because automake didn't bother creating the destination directories
before trying to create the objects.
Fix this by depending on the destination directory stamp, which
according to the automake mailing list, should hopefully remain fairly
stable.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
243daf80
|
2012-05-29T15:08:35
|
|
Add test for xkb_map_new_from_string
Using data from xkb_map_get_as_string.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
ebd397e1
|
2012-05-25T17:05:39
|
|
Add xkb_map_get_as_string
Returns a newly-allocated string representing the specified keymap.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
c815ff96
|
2012-05-21T23:33:56
|
|
Import darray.h for common dynamic array code
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
869c6871
|
2012-05-19T02:35:15
|
|
rules: add test
Add a non-extensive test to check that some basic things (e.g. rule
matching, var substitution, indexes and groups) work as expected.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
b73bd676
|
2012-05-13T09:49:08
|
|
rules: only export a single function
Really all we need from this file is a way to get xkb_component_names
from an xkb_rule_names, which is now the only thing being exposed. This
should allow for some much needed refactoring of this code.
Since this is only used by xkbcomp.c and uses xkbcomp functions, also
move rules.{c,h} under the xkbcomp dir.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
db3e8f2c
|
2012-05-13T10:14:10
|
|
Create path.h for the path.c functions
No need to stash them in xkbcomp-priv.h; files which need the functions
should explicitly include them.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
cb804a9d
|
2012-05-15T15:23:40
|
|
Fix out-of-tree build for config.h
config.h appreas in the build dir, not src dir.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
|
|
661cb840
|
2012-05-18T00:56:36
|
|
Add benchmarking test to rulescomp
Apparently it only takes us 8ms to build keymaps. Nice!
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
3fbc277b
|
2012-05-11T16:14:27
|
|
Use $(AM_V_GEN) to prettyfi makekeys step
|
|
f95b4113
|
2012-05-11T14:28:54
|
|
Add xkbcommon-keysyms.h to Makefile.am
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
6433d72e
|
2012-05-09T20:12:12
|
|
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>
|
|
ace1e5df
|
2012-05-09T09:05:00
|
|
Use our own keysyms
|
|
c6897d26
|
2012-05-09T08:33:04
|
|
Add XKB version of X11 keysyms
With this we're now completely standalone.
add vendor keysyms
|
|
bdbb3ac4
|
2012-05-08T11:46:58
|
|
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>
|
|
f9fa740f
|
2012-05-09T15:23:44
|
|
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>
|
|
74a197d2
|
2012-05-08T17:59:35
|
|
Add pre-defined names database
xkbcommon-names.h right now just contains a set of hardcoded modifier
strings that are most commonly used for the usual modifiers. Provide
definitions of these so people don't have to worry about typoing a
string or mixing up Mod1 and Mod4.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
1928397a
|
2012-05-08T17:47:54
|
|
Reintroduce $(builddir)/src/xkbcomp include
This is required for parser.h, which is autogenerated and thus only in
the build directory.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
b610b2b9
|
2012-05-08T14:52:23
|
|
Rename XKBcommonint.h to xkb-priv.h and use it
Make the files in the src/* directory use their own header or a
consilidated private header. This makes the file dependencies clearer.
Also drop the pointless "xkb" file name prefix, add split a few
declarations to their own files (atom.h and text.h).
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
33273304
|
2012-05-08T13:57:07
|
|
Rename xkbcomp/misc.h to xkbcomp-priv.h and use it
The include dependencies were quite convoluted, where you change the
order and get a ton of errors. Instead, change one file to act as the
internal interface for the xkbcomp files, and make every file use it.
Also drop the pointless "xkb" prefix to file names.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
409ec8a1
|
2012-04-11T02:02:45
|
|
Merge src/alloc.c and src/malloc.c
The two files do exactly the same sort of things, without any discernible
reason for splitting them.
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Updated for xkb_desc -> xkb_keymap changes.]
|
|
4b49e0a1
|
2012-03-31T02:44:39
|
|
Overhaul test suite
Rewrite all of the current tests in the following ways:
- Instead of the current mix of C and shell, just use single-process
pure C file per test. All of the .sh files are removed, but everything
that was tested is ported.
- Instead of handling the test logs ourselves, use Automake's
"parallel-test" mechanism. This will create a single log file for each
test with it's stdout+stderr, and a top level "test-suite.log" file
for all the failed tests.
- The "parallel-tests" directive also makes the test run in parallel,
so "make check" runs faster.
- Also use the "color-tests" directive to have the "make check" output
colorized. Who doesn't like to see PASS in green?
- All of the test data files are moved into the test/data subdirectory.
That way we can just put the directory in EXTRA_DIST and forget about
it.
- The test/Makefile.am file is consolidated into the main Makefile.am,
for a completely non-recursive build.
Right now the tests are completely independent and just use simple
assert()'s. More sophistication can be added as needed.
It should also be noted that it's still possible to use shell, python,
etc. if a test wants more flexibility than C can provide, just do as
before.
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Updated for xkb_keymap changes.]
|
|
8fbd44fd
|
2012-04-06T03:12:50
|
|
Implicitly include config.h in all files
The definitions in config.h should be available in all files an
implementation detail; it can be included through the build system
instead of having each file pull it every time.
This is especially helpful with AC_USE_SYSTEM_EXTENSIONS, as _GNU_SOURCE
and friends can have an effect by merely being defined, which can lead
to some confusion if its effective for only half the files.
And we don't really support a build _without_ config.h; so, one less
thing to worry about.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
518debb3
|
2012-04-08T15:38:04
|
|
Set xorg-macros CFLAGS correctly
A previous commit messed up all warning flags. Oops.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
3e9dd751
|
2012-03-27T16:59:01
|
|
Add new context API
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
21f1bff4
|
2012-03-27T15:51:28
|
|
Fix distcheck with non-recursive Makefiles
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
b5efe41f
|
2012-03-24T04:48:31
|
|
Make build non-recursive
Unify all the different Makefile.am into a single short top level one
(the test/Makefile.am file is left intact though).
This makes the build system simpler to look and should encourage
unifying more currently-disparate code.
Some further motivation can be found in this page:
http://www.flameeyes.eu/autotools-mythbuster/automake/nonrecursive.html
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
69e52ad9
|
2010-12-09T16:22:17
|
|
config: makekeys prog should stand alone in the makekeys directory
This program is a utility to generated a header file.
The header file it generates should not be located in the
directory where this utility program is compiled.
Move the /makekeys dir as a sibling of /src.
This reduces the number of bi-directional relationships
between directories.
Make corresponding makefiles simplifications.
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
7ce1a6dc
|
2010-12-07T10:39:16
|
|
config: add the INSTALL target for installation instructions
Acked-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
f75ff7d9
|
2010-12-03T15:13:01
|
|
config: remove m4/.gitignore now that toplevel one handles it all
The -Im4 in Makefile.am will have to wait until the day
there is an m4 macro checked-in git in the m4 directory.
This does not prevent libtool to install its macros in m4.
Acked-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
2b36543a
|
2010-11-11T23:02:11
|
|
build: use AC_CONFIG_MACRO_DIR as per libtoolize warning
libtoolize: Consider adding "AC_CONFIG_MACRO_DIR([m4])" to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding "-I m4" to ACLOCAL_AMFLAGS in Makefile.am.
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
|
|
a9822d87
|
2009-04-01T06:22:06
|
|
Add xkbcommon pkg-config file
|
|
b2737e9b
|
2009-01-20T18:57:22
|
|
Testing harness for keysym functions
A test program and script have been added for checking the XkbCommon
keysym functions. This has already highlighted an error in handling of
keysyms from XF86keysym.h.
|
|
83f198f1
|
2009-01-20T07:46:12
|
|
Initial implementation of keysym handlers
Add the xkbcommon implementations of XKeysymToString and XStringToKeysym.
These symbols have the namespace prefix of Xkbc and are declared in
X11/XkbCommon.h.
The implementation is taken directly from Xlib, but does not include the
XKeysymDB parsing and hashing yet (if it ever will). A couple type
conversions were needed to keep from using Xlib.h. See original files:
libX11/src/KeysymStr.c
libX11/src/StrKeysym.c
|
|
27fe8d16
|
2009-01-14T07:35:10
|
|
Add makekeys for creating keysym hash tables
The makekeys utility is used to generate the keysym hash tables during
the build. We try to detect a build machine native compiler so the
tables can be generated when cross compiling.
|
|
b58a95d0
|
2009-01-13T18:25:35
|
|
Initial autotools commit
|