Log

Author Commit Date CI Message
Ran Benita c03834a1 2014-10-23T21:00:20 Reduce variable scopes Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5e3615b2 2014-10-18T20:04:57 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>
Ran Benita 4a660d7f 2014-10-18T19:47:19 xkbcomp: remove file->topName It is useless. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 96a29ede 2014-10-18T19:22:56 xkbcomp/keymap: remove useless free() Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita c43c3c86 2014-10-18T16:41:59 Bump version to 0.5.0 Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 60104e79 2014-10-18T16:35:49 Update NEWS Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 47bb9fd1 2014-10-18T16:37:46 compose: fill @since TBD Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b92f7924 2014-10-18T16:38:13 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>
Ran Benita aa41d883 2014-10-18T16:03:41 doc/compat.md: add compose incompatibilities Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 413954aa 2014-10-18T15:51:41 Add PACKAGING file Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 047d0612 2014-10-18T15:07:37 Makefile.am: add symbol files to EXTRA_DIST Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 6337d789 2014-10-18T14:52:54 README: we also accepts patches through github Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 0419f6e7 2014-10-18T14:50:49 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>
Ran Benita bac0c323 2014-10-18T13:58:56 README: remove elaborate details from the intro Point to the "quick guide" instead. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ab9cb11c 2014-10-18T13:53:25 doc/compat.md: we don't support more groups or mods yet Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 494a8fbf 2014-10-18T13:50:54 README: move compatibility notes to their own page Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b05a05ed 2014-10-18T14:29:37 README: add notes about Compose support Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 49dc91ce 2014-10-18T14:12:14 doc/quick-guide: some improvements Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 2e8ab383 2014-10-18T13:44:02 README: link to online API docs Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita cb461893 2014-10-18T13:34:15 README: move note about xkeyboard-config to its own section Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 8bf1e193 2014-10-18T13:31:32 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>
Ran Benita f774f819 2014-10-18T13:23:53 Replace some strncmp's with memcmp Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a4cc119b 2014-10-18T12:36:40 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>
Ran Benita a0d2b029 2014-10-17T01:14:57 test/keyseq: test 'map[None] = Level2;' scenario See previous commit for an explanation. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 312182ce 2014-10-16T17:55:46 test/data: add files for model=applealu_ansi layout=us Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita c6ee6371 2014-10-16T17:48:00 test/data: sync to xkeyboard-config 2.13 (Run ./test/data/sync.sh). Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 30e7445d 2014-10-17T00:41:05 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>
Ran Benita a4c667ad 2014-10-17T00:13:48 symbols: don't warn about conflicting syms if they are the same Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 2e5530ad 2014-10-16T18:51:51 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>
Ran Benita 57ad452b 2014-10-16T13:11:26 Merge pull request #14 from jasperla/undefined disable -Wl,--no-undefined on OpenBSD for it doesn't have DT_NEEDED for libc
Jasper Lievisse Adriaanse dff65c0c 2014-10-16T11:35:18 disable -Wl,--no-undefined on OpenBSD for it doesn't have DT_NEEDED for libc
Ran Benita 1595f2b7 2014-10-15T22:38:17 Merge pull request #13 from jasperla/librt Make librt optional, required for at least OpenBSD
Jasper Lievisse Adriaanse 3e169c47 2014-10-15T21:08:17 Make librt optional, required for at least OpenBSD
Ran Benita c42b8646 2014-10-14T11:47:25 test/compose: test include statement Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 3f489730 2014-10-14T10:53:38 test/compose: test modifier syntax Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita c6e63fd7 2014-10-14T11:28:17 compose/parser: fix parsing of multiple modifiers Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita d1c5dd14 2014-10-13T18:19:16 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>
Ran Benita 3c0c3afa 2014-10-13T15:47:13 compose/parser: resolve keysyms in parser instead of scanner It will become context-sensitive. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 0b99c63c 2014-10-13T15:05:48 compose/parser: use parameter as intended Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 8bba4b34 2014-10-13T00:16:59 compose/parser: one more skip_to_eol() Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a3116f97 2014-10-13T18:51:12 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>
Ran Benita 65c355aa 2014-10-13T14:28:27 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>
Ran Benita 8a0acf2c 2014-10-07T23:42:08 scanner-utils: optimize one-line comments Compose files have a lot of those. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 8d58e250 2014-10-03T00:30:43 bench/compose: add new benchmark Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5cefa5c5 2014-01-29T13:46:42 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>
Ran Benita 10a7a2bd 2013-10-27T20:37:27 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>
Ran Benita edc98b54 2014-09-12T18:44:30 compose: add xkbcommon-compose - implementation Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 046c802e 2014-09-12T18:43:58 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>
Ran Benita 29a1a780 2014-09-12T18:40:18 scanner-utils: add priv member For when a user of the scanner wants to pass something along with it. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita e8b11232 2014-09-12T00:31:40 darray: add darray_shrink() If we have a big array which can be finalized, on average we can give back 1/4 of its size, which the allocator might be able to use. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b3f23965 2014-02-06T01:48:32 keysym: add function to test if a keysym is for a modifier Needed for compose. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 94a8e01c 2014-02-03T14:55:37 scanner-utils: add helper for appending an entire string Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 8eb024d5 2013-10-27T20:17:29 scanner-utils: add helper for hex string escape Like the already existing oct. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita bc3b4c08 2014-10-02T22:03:28 Move benchmarks from tests to their own files in bench/ The tests only contain tests, and the benchmarks are more visible. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita fd126551 2014-10-02T21:24:29 build: don't rebuild everything for libtest.la We added a -fvisibilty=default to the libtest.la CFLAGS. When automake sees that the CFLAGS are different from those of libxkbcommon.la, it figures it should recompile all of the $(libxkbcommon_la_SOURCES), instead of reusing the already-compiled object files. But actually, the convenience library is not a shared object, it's just used as an archive, thus the -fvisibility is entirely pointless. So avoid the recompilations by just removing it. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 4ed68120 2014-10-01T19:14:36 scanner-utils: optimize str()/lit() Replace the dog-slow unneeded strncasecmp() with an inlineable memcmp(). Before: compiled 2500 keymaps in 8.348715629s After: compiled 2500 keymaps in 7.872640338s Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 725ae134 2014-09-25T22:01:17 keymap: rename XkbKeyGroupWidth to XkbKeyNumLevels The "width" terminology comes from the group*width+level layout of the keysyms in a key, as used in the old implementations. We don't keep all the keysyms of a key in one array so change it to a more accurate name. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 2c259f17 2014-09-25T21:55:52 symbols: improve FindKeyForSymbol() A bit more involved, but can short circuit. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 485b736f 2014-09-25T21:25:39 symbols: use correct max value xkb_level_index_t was initially uint16_t, now it's 32. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 9c088df3 2014-09-22T15:45:26 doc: disable alphabetical data structure index It is useless - we have very little data structures. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 805ed4e7 2014-09-22T15:31:51 doc: disable BRIEF_MEMBER_DESC It's easier to quickly go through the functions in a module this way. The names provide enough "brief description" to get someone to click for the full description. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 08d05799 2014-09-22T15:27:13 doc: disable tree view It is redundant with the header navigation. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 0b448548 2014-09-22T15:23:10 doc: linkify some references Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f088d23f 2014-09-22T11:44:51 x11, doc: add note about Key{Press,Release}->state field Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 7831fe21 2014-09-22T11:24:17 x11, doc: add note about per-client flags like detectable autorepeat Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 68962aa1 2014-09-21T23:54:34 keymap-dump: combine modifier_map's with the same modifier A bit less efficient, but makes for shorter, nicer output. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 0224283f 2014-09-21T17:09:58 rules: fix mlvo-not-used warning An mlvo can also be used in an expansion, but we didn't mark them in this case in commit d8a4f52cb95d989b4. This caused wrongful warnings on something like -l ch -v fr -- the `fr` is only added via expansion. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f0cd7abc 2014-09-21T00:59:11 quick-guide: fix xkb_state_key_get_syms() example Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 51ae4a17 2014-09-21T00:56:33 quick-guide: fix Java-esque array syntax Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita d8a4f52c 2014-09-20T16:13:24 rules: warn when an RMLVO component isn't used Due to wildcard matches in the rules file, this is only really useful for misspelled or missing options, e.g. $ ./test/rmlvo-to-kccgst -o comprose:ralt > /dev/null xkbcommon: ERROR: Unrecognized RMLVO option "comprose:ralt" was ignored Although it is more of a warning, it indicates a misconfiguration which the user probably wants to see. Therefore the log level is ERROR. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita d0c6fce2 2014-09-20T15:06:13 parser: use "atom" instead of "sval" in yylval "sval" is already used for "struct sval". Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 1ba7d9ec 2014-09-19T12:35:52 doc: reorder "Keymap Components" functions Put the general keymap stuff before key-specific functions. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 494e3189 2014-09-19T00:56:16 doc: move consumed modifier description to its own section With small edits. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 0aeb1095 2014-09-18T21:09:41 doc: order the modules better Explicitly specify the files in INPUT so that "X11 Support" appears after the main modules. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita c00df885 2014-09-18T12:13:59 x11, doc: fix typo Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ab4df099 2014-09-18T11:59:27 x11, doc: add overview Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 24846080 2014-09-11T14:08:12 test/keyseq: add test Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 64fec8f3 2014-09-11T12:15:31 configure.ac: add -Wdocumentation It's supported by clang and warns about bad doxygen comments. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5f8ccd18 2014-09-11T12:09:57 doc: fix @param display for xkb_x11_setup_xkb_extension() Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 1054962d 2014-09-11T02:55:51 symbols: use darray_foreach_from for nicer loop Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f03dcf9f 2014-09-10T19:11:41 Remove compatibility symbols Remove the deprecated symbols that were used for ABI compatibility during the transition period to the first stable version, 0.2.0. The old *names* can still be used, programs which use the old names will continue to work, as long as they were compiled against a stable version (as they have been #defined to the new names from the start; see xkbcommon/xkbcommon-compat.h). Namely, this will break binaries which: 1. Were compiled against a pre-stable version of libxkbcommon, and 2. Are linked against the next version of libxkbcommon, and 3. Expect to work. This scenario is very unlikely, and will break in many other ways anyway. Also, retaining support for these means including them in the new symbol version file, which I would like to avoid. Signed-off-by: Ran Benita <ran234@gmail.com>
Jan Engelhardt 5444f6a8 2014-09-09T19:08:46 build: use symbol versioning Symbol versions provide a means by which ELF utilities can determine whether a program is incompatible with a too-old library version so that package management tools can autodetect version-based dependencies and suggest upgrade paths. [ran: swap xkbcommon.map and xkbcommon-x11.map] Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a931740c 2014-09-10T13:29:52 keycodes: fix keymap compilation with no aliases and malloc(0)==NULL If the keymap doesn't have any key-aliases (which is certainly possible), the calloc(num_key_aliases, ...) is allowed to return NULL according to the C standard, but this is not an error. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 7a87c202 2014-09-10T13:10:33 ast-build: fix leak in error path Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ba985629 2014-09-06T11:29:15 test: make most tests portable by copying linux/input.h locally There is really no reason to deny these tests from different platforms only for a few #defines. The only linux-only test (or test program, it is not run by make check) is interactive-evdev, which actually uses evdev. Signed-off-by: Ran Benita <ran234@gmail.com>
Pino Toscano e95fb475 2014-09-06T11:05:44 Remove <linux/input.h> include from test/x11comp.c libxkbcommon 0.4.3 introduces a new test, x11comp, which does not build on non-Linux OSes because of the unconditional <linux/input.h> include. This seems not needed even on Linux, so attached there is a simple patch to remove it. https://bugs.freedesktop.org/show_bug.cgi?id=83551 Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 00733da3 2014-09-02T01:12:18 Merge pull request #11 from michaelforney/master Fix typo in default-variant configure option
Michael Forney 76ae9fb9 2014-09-01T13:09:29 Fix typo in default-variant configure option
Ran Benita fc95057c 2014-09-01T17:20:40 test/x11comp: don't hang if Xvfb is not available If Xvfb is not present, posix_spawn still forks, but the child fails. In that case, since we left the write fd of the pipe open in the parent, we just kept waiting on the read() without noticing that the other side is dead. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 527bf96f 2014-08-24T10:16:17 keymap: fix typo Signed-off-by: Ran Benita <ran234@gmail.com>
David Herrmann c62cde57 2014-08-24T09:09:14 keymap: fix description of xkb_keymap_key_get_syms_by_level() The @level argument is restricted by xkb_keymap_num_levels_for_key(). Fix the description to no longer mention xkb_keymap_num_layouts_for_key(). Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Ran Benita 76016d51 2014-08-19T20:11:35 Bump version to 0.4.3 Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 537c1700 2014-08-19T20:11:06 Update NEWS Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f3597f1b 2014-08-18T21:03:06 test/state: add test_update_mask() test Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a1f0595a 2014-08-18T20:27:07 state: make sure the mods are fully resolved after xkb_state_update_mask() Virtual modifiers can have "mappings" to real modifiers, e.g. NumLock may also set Mod2. In a normal turn of events, the various components (depressed, latched, locked, and consequently effective) include the mapped mods, because the masks are pre-resolved everywhere. However, xkb_state_update_mask() accepts arbitrary mod masks, which may not be resolved (if it comes from somewhere other than xkb_state_serialize_mods()). So let's always resolve them ourselves. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 99184f16 2012-11-24T13:29:54 Make the effective mod mask calculation available to other files We will want to use that function in state.c as well. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 80ae8e61 2014-08-18T20:08:25 state: no need for loop in xkb_state_update_mask() Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a95c4e83 2014-08-18T19:47:10 test/x11comp: server writes \n to displayfd Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 4df720b4 2014-08-09T22:14:34 test/x11-keyseq: new test It is like test/stringcomp, only instead of using xkb_keymap_new_from_string(), it uses xkbcomp to upload the keymap to a dummy Xvfb X server and then xkb_x11_keymap_new_from_device(). If any of these components are not present or fails, the test is shown as skipped. The test is messy, fragile, limited and depends on external tools, but I will improve on that later -- it's better to have a test. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 56de0115 2014-08-09T22:41:01 x11/keymap: handle private actions Previously we treated them as NoAction(). Signed-off-by: Ran Benita <ran234@gmail.com>