Log

Author Commit Date CI Message
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>
Ran Benita ead816e5 2014-08-09T22:35:24 utils: add a STATIC_ASSERT macro It'd be nicer to use C11's static_assert(), but it's easier to roll our own C99 version using a trick I saw in xv6. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita d38ff018 2014-08-09T22:19:39 keymap: remove "flags" field of xkb_private_action Private actions have no flags - only serialized data. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f00e779a 2014-08-08T17:21:28 x11/keymap: be more defensive about the number of modifiers There can be at most 16 vmods, and we rely on the facts that #vmods + NUM_REAL_MODS (8) <= XKB_MAX_MODS (32) when accessing keymap->mods.mods. But msb_pos() can potentially return up to #vmods = 32 if the server is malicious, so we need to truncate it. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 01753c04 2014-08-08T16:36:42 x11/keymap: don't forget to add the vmod offset in get_vmods The first 8 modifiers in keymap->mods are the real modifiers; the virtual modifiers are then at slots 8-24. But XkbGetMap's virtualMods mask starts the virtual modifiers at zero, so we need to add an offset (like we do correctly in get_vmod_names()). https://github.com/xkbcommon/libxkbcommon/issues/9 Reported-by: @rtcm Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 9db14323 2014-07-28T18:04:34 docs: move keysym-transformations page to a better position Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b6295762 2014-07-28T10:03:18 docs: fix self-reference Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5058620c 2014-07-27T16:36:11 interactive-evdev: don't use sysexits.h Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 40f109af 2014-07-27T14:24:20 ast-build: make sure InterpDef is freeable With the following two rules: InterpretDecl : INTERPRET InterpretMatch OBRACE VarDeclList CBRACE SEMI { $2->def = $4; $$ = $2; } ; InterpretMatch : KeySym PLUS Expr { $$ = InterpCreate($1, $3); } | KeySym { $$ = InterpCreate($1, NULL); } ; And the fact that InterpCreate doesn't initialize ->def, if the VarDeclList fails, the %destructor tries to recursively free the uninitialized ->def VarDef. So always initialize it. That was the only problematic code in the parser for %destructor (I'm pretty sure). Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 37cf20c9 2014-07-26T22:49:30 parser: silence bison "unused value" warnings Previous commit triggered these for some reason: /home/ran/src/libxkbcommon/src/xkbcomp/parser.y:555.25-33: warning: unused value: $1 [-Wother] CoordList : CoordList COMMA Coord ^^^^^^^^^ Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 7ec00933 2014-07-26T22:34:05 parser: don't leak AST nodes for discarded symbols If the parser has symbols on the stack, and then enters an error, it discards the symbols and fails. But their actions which allocate AST nodes had already ran. So we must free these to avoid leaks. We use %destructor declarations, see http://www.gnu.org/software/bison/manual/html_node/Destructor-Decl.html Note: byacc only supports %destructor when compiled with --enable-btyacc. Also, it doesn't support using the parse-param in the destructor. So we might revert this commit before the next release, or forget about byacc. https://github.com/xkbcommon/libxkbcommon/issues/8 Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f5182bbd 2014-07-26T22:29:22 test: add file with a syntax error We didn't really have any. It also a exposes a memory leak, since the parser doesn't clean up the AST nodes of the discarded symbols. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 61fed8da 2014-07-26T00:19:34 Replace darray_mem with a new darray_steal That's a more declarative interface. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita fbd92860 2014-07-26T00:13:54 ast-build: use cast instead of ->common Missed in 1b2bb204e0baa2246a6232aea762c1edb00cd44a. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 5f5b960c 2014-07-25T23:40:40 types: refactor CopyKeyTypesToKeymap So it's OOM-safe and doesn't clobber keymap on failure. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 320e5ffa 2014-07-25T23:24:46 keycodes: split CopyKeyInfoToKeymap to several functions It's a bit easier to read and self-documenting. Also handles OOM better. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita cb4bae71 2014-06-30T14:52:30 parser: don't shadow "str" It's a name of a function in scanner-utils.h and also of some parameters. https://bugs.freedesktop.org/show_bug.cgi?id=79898 Reported-by: Bryce Harrington <b.harrington@samsung.com> Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 9c30d6da 2014-06-15T15:30:51 x11: don't iterate on empty batches If count % SIZE == 0 we did a useless iteration where start==stop. It's harmless but strange, so don't do that. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 67d884ec 2014-06-01T15:24:10 Remove unnecessary !!(expressions) _Bool already does that. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita d6f2d8ec 2014-05-28T20:32:16 rules: fix leak on failure matcher_match() builds up the kccgst's, and we steal the memory on success. But on error we didn't free it. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 76e1fca2 2014-05-15T12:07:00 Bump version to 0.4.2 Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 1aea81c2 2014-05-15T12:06:46 Update NEWS Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita e3f751be 2014-05-14T11:44:29 x11: fix out-of-bounds access in adopt_atoms() error handling Two problems: - `j` can be >= `SIZE`, and needs to be wrapped like in the rest of the code. - `cookies[j % SIZE]` is not initialized if there's no atom in `from[j]`. The is manifested when: - We've already gone through one batch (>= 128 atoms) (in fact this cannot happen in call to `adopt_atoms` in the current code). - An XCB request failed in the middle of a batch. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 86cfef63 2014-05-11T09:47:56 ast-build: don't leak on OOM in BoolVarCreate Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 2e561c3f 2014-04-30T08:57:16 parser: show the keysym in "unrecognized keysym" messages Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 770f3e4b 2014-04-25T01:21:09 doc: fix new doxygen version warnings Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 67323f41 2014-04-25T01:14:31 keycodes: fix uninitialized variable Happened in one of the previous commits. For some reason, gcc doesn't warn about this, but clang does... Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 07fb6a6c 2014-04-22T18:18:13 xkbcomp: don't align enum values Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 28a22ba2 2014-04-22T18:05:24 xkbcomp: use straight assignment instead of CopyModSet Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 9014cf8c 2014-04-22T13:15:21 keymap, keycodes, compat: don't use darray for LEDs Use a static array of size XKB_MAX_LEDS instead, as in xkb_mod_set. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 787faf36 2014-04-22T12:23:36 keymap: don't use darray in xkb_mod_set Instead just statically allocate the mods array (of size MAX_MOD_SIZE = 32). The limit is not going anywhere, and static allocations are nicer (nicer code, no OOM, etc.). It's also small and dense enough. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 6b1cdee1 2014-04-22T11:47:23 keymap: add and use xkb_mods_{foreach,enumerate}() To iterate over an xkb_mod_set. Slightly nicer interface and makes transitioning from darray easier. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 0f6bca2b 2014-04-22T11:33:47 keymap: rename xkb_foreach_key to xkb_keys_foreach We'll use the format xkb_foos_foreach and xkb_foos_enumerate for the various iterators. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 9b1a68ec 2014-04-22T11:22:22 keymap: protect xkb_foreach_key macro params Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita decb2915 2014-04-22T12:29:22 darray: remove unused darray_foreach_reverse() Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 00f084b6 2014-04-22T14:34:57 utils: detect overflow in memdup() Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 95aabeec 2013-02-09T19:10:56 symbols: use xkb_mod_set instead of entire keymap The keymap is not removed entirely from the Info (just constified), since it is still needed in AddKeySymbols() for looking up aliases. This dependency will be removed in the future. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita f2cbeda9 2013-02-09T18:25:12 types: use xkb_mod_set instead of entire keymap Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita bf2878d2 2013-02-08T15:12:35 compat: use xkb_mod_set instead of entire keymap Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita b5655b3d 2013-02-08T14:39:38 vmod: take xkb_mod_set instead of the entire keymap This is the only place where the modifier information is modified. We will make it local to a given XKB file (after which it will be merged into the keymap). Currently it changes the keymap directly, which sidesteps the abstraction and leaves side-effects even if the XkbFile's compilation fails. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 0b7c8d61 2013-02-08T14:32:47 action: take xkb_mod_set instead of the entire keymap A couple of modiifer actions need this information, but not the entire keymap. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 9fbcf6bb 2013-02-08T13:56:41 expr: take xkb_mod_set instead of the entire keymap The modifier-resolving functions only need the modifier information. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita edc0aef5 2013-02-08T13:21:27 text: take xkb_mod_set instead of the entire keymap The modifier printing functions only need the modifier information, they don't care about keys or leds, etc. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita ca3170ad 2013-02-08T13:09:33 Add struct xkb_mod_set The only thing that the compilation phase needs the keymap for currently is for access to the modifier information (it also modifies it in place!). We want to only pass along the neccessary information, to make it more tractable and testable, so instead of passing the entire keymap we add a new 'mod_set' object and pass a (const) reference to that. The new object is just the old array of 'struct xkb_mod'. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 3d7aff5f 2014-04-19T16:15:05 keymap: rename wrap_group_into_range -> XkbWrapGroupIntoRange It better fits with the naming convention in keymap.h. Signed-off-by: Ran Benita <ran234@gmail.com>