Commit Graph

1525 Commits (508fbcd167af5b55b06154cff271dbece04af349)

Author SHA1 Message Date
Ran Benita 508fbcd167 doc: explain the envvars which affect compose
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-24 23:03:41 +03:00
Ran Benita 9162017947 keycodes: use correct printf format
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-23 21:03:13 +03:00
Ran Benita c03834a1c6 Reduce variable scopes
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-23 21:00:20 +03:00
Ran Benita 5e3615b246 ast-build: remove log message about allocation failure
We don't do so anywhere else, so until we have something comprehensive,
let's not so here.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 20:04:57 +03:00
Ran Benita 4a660d7f86 xkbcomp: remove file->topName
It is useless.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 19:47:19 +03:00
Ran Benita 96a29ede77 xkbcomp/keymap: remove useless free()
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 19:22:56 +03:00
Ran Benita c43c3c866e Bump version to 0.5.0
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 16:41:59 +03:00
Ran Benita 60104e7955 Update NEWS
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 16:41:36 +03:00
Ran Benita b92f792409 Change initial symbol file versions to V_0.5.0
It will be quite confusing to use V_0.4.3 since this was already
released without symbol versioning.

Hopefully this doesn't cause any trouble for people who are using -git.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 16:40:59 +03:00
Ran Benita 47bb9fd137 compose: fill @since TBD
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 16:40:59 +03:00
Ran Benita aa41d88334 doc/compat.md: add compose incompatibilities
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 16:03:41 +03:00
Ran Benita 413954aa44 Add PACKAGING file
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:51:41 +03:00
Ran Benita 047d06122e Makefile.am: add symbol files to EXTRA_DIST
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:07:37 +03:00
Ran Benita 6337d789e6 README: we also accepts patches through github
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:06:16 +03:00
Ran Benita 0419f6e783 docs: make html output have a fixed width, hide footer
It's hard to read text which stretches indefinitely.

The footer is not adding much.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:06:16 +03:00
Ran Benita b05a05edbd README: add notes about Compose support
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:05:30 +03:00
Ran Benita 49dc91cedb doc/quick-guide: some improvements
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:05:30 +03:00
Ran Benita bac0c323b6 README: remove elaborate details from the intro
Point to the "quick guide" instead.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:05:30 +03:00
Ran Benita ab9cb11c91 doc/compat.md: we don't support more groups or mods yet
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:05:30 +03:00
Ran Benita 494a8fbf3f README: move compatibility notes to their own page
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 15:05:30 +03:00
Ran Benita 2e8ab38351 README: link to online API docs
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 14:12:45 +03:00
Ran Benita cb46189335 README: move note about xkeyboard-config to its own section
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 13:34:15 +03:00
Ran Benita 8bf1e193fc README: remove section on API stability
This was useful when we *weren't* stable. But now that we are this
should be obvious.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 13:31:32 +03:00
Ran Benita f774f819d6 Replace some strncmp's with memcmp
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 13:23:53 +03:00
Ran Benita a4cc119bf5 compose/parser: save len in keysym_from_name cache
This reduces a lot of strcmp's, and allows to use a faster memcmp.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-18 13:05:18 +03:00
Ran Benita a0d2b02976 test/keyseq: test 'map[None] = Level2;' scenario
See previous commit for an explanation.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-17 01:19:22 +03:00
Ran Benita 312182ce7d test/data: add files for model=applealu_ansi layout=us
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-17 01:19:03 +03:00
Ran Benita c6ee6371b5 test/data: sync to xkeyboard-config 2.13
(Run ./test/data/sync.sh).

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-17 01:19:03 +03:00
Ran Benita 30e7445d84 state: correctly infer inactive type entries
The current test is incorrect, since 'map[None]' is entirely valid. In
most cases this doesn't cause any problems, since the default fallback
is Level1, and it's almost always 'map[None] = Level1' anyway. But in
one case in xkeyboard-config it isn't, in types/numpad(mac):

    type "KEYPAD" {
        modifiers = None;
        map[None] = Level2;
        level_name[Level2] = "Number";
    };

So before checking if no modifiers were mapped, make sure there *were*
any modifiers at all.

https://bugs.freedesktop.org/show_bug.cgi?id=85092

Reported-by: Gatis Paeglis <gatis.paeglis@digia.com>
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-17 01:17:59 +03:00
Ran Benita a4c667adf2 symbols: don't warn about conflicting syms if they are the same
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-17 01:17:14 +03:00
Ran Benita 2e5530ad20 parser: bring back warning about includes of files with no default
Using the same format as xkbcomp.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-17 01:17:14 +03:00
Ran Benita 57ad452b55 Merge pull request #14 from jasperla/undefined
disable -Wl,--no-undefined on OpenBSD for it doesn't have DT_NEEDED for libc
2014-10-16 13:11:26 +03:00
Jasper Lievisse Adriaanse dff65c0c70 disable -Wl,--no-undefined on OpenBSD for it doesn't have DT_NEEDED for libc 2014-10-16 11:35:18 +02:00
Ran Benita 1595f2b742 Merge pull request #13 from jasperla/librt
Make librt optional, required for at least OpenBSD
2014-10-15 22:38:17 +03:00
Jasper Lievisse Adriaanse 3e169c4726 Make librt optional, required for at least OpenBSD 2014-10-15 21:08:17 +02:00
Ran Benita c42b864654 test/compose: test include statement
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-14 11:47:25 +03:00
Ran Benita 3f489730d3 test/compose: test modifier syntax
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-14 11:36:00 +03:00
Ran Benita c6e63fd71c compose/parser: fix parsing of multiple modifiers
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-14 11:28:57 +03:00
Ran Benita d1c5dd14e0 compose/parser: parse (! mods) properly
We don't actually do anything with them. But if someone uses them we can
at least not choke.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-13 18:56:57 +03:00
Ran Benita 3c0c3afa09 compose/parser: resolve keysyms in parser instead of scanner
It will become context-sensitive.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-13 18:56:50 +03:00
Ran Benita 0b99c63cf4 compose/parser: use parameter as intended
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-13 18:54:58 +03:00
Ran Benita 8bba4b34ec compose/parser: one more skip_to_eol()
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-13 18:54:52 +03:00
Ran Benita a3116f97d0 compose/parser: fix segfault when including
The keysym cache for the new scanner was not initialized.
To avoid such errors also in the future, require passing the priv
argument in scanner_init(), instead of initializing it separately.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-13 18:54:52 +03:00
Ran Benita 65c355aa7a COPYING: add copyright notice from libX11:modules/im/ximcp/imLcPrs.c
We have used some portions of it, so add the notice.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-13 18:54:52 +03:00
Ran Benita 8a0acf2c67 scanner-utils: optimize one-line comments
Compose files have a lot of those.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-08 00:03:34 +03:00
Ran Benita 8d58e250b0 bench/compose: add new benchmark
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-05 12:56:46 +03:00
Ran Benita 5cefa5c5d0 test/interactive-evdev: add compose support
To try, do e.g.:
sudo ./test/interactive-evdev -l us -v intl -o compose:ralt -d

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-05 12:56:46 +03:00
Ran Benita 10a7a2bd69 test/compose: add new test
Some results from the benchmark (compilation of en_US.UTF-8/Compose):

$ grep 'model name' /proc/cpuinfo
model name  : Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz
model name  : Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz

$ uname -a
Linux ran 3.16.1-1-ARCH #1 SMP PREEMPT Thu Aug 14 07:40:19 CEST 2014 x86_64 GNU/Linux

$ ./test/compose bench
compiled 1000 compose tables in 7.776488331s

So according to the above benchmark and valgrind --tool=massif, an
xkb_compose_table adds an overhead of about ~8ms time and ~130KB
resident memory.
For contrast, a plain US keymap adds an overhead of ~3ms time and 90KB
resident memory.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-05 12:56:46 +03:00
Ran Benita edc98b5403 compose: add xkbcommon-compose - implementation
Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-05 12:56:46 +03:00
Ran Benita 046c802e96 compose: add xkbcommon-compose - API
xkbcommon-compose is a Compose implementation for xkbcommon. It mostly
behaves like libX11's Compose, but the support is somewhat low-level and
is not transparent like in libX11. The user must add some supporting code
in order to utilize it.

The intended audience are users who use xkbcommon but not a full-blown
input method. With this they can add Compose support in a straightforward
manner, so they have a fairly complete keyboard input for Latin-like
languages at least.

See the header documentation for details.

Signed-off-by: Ran Benita <ran234@gmail.com>
2014-10-03 00:15:39 +03:00