Ran Benita [Sun, 16 Feb 2014 16:32:44 +0000 (18:32 +0200)]
action: unify SetLatch and Lock handler functions
This is a little shorter and follows easier from the spec flag
description table.
Also a few were too permissive (like allowing LatchToLock in SetMods).
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 16 Feb 2014 08:20:32 +0000 (10:20 +0200)]
action: add a common CheckBooleanFlag function
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 16 Feb 2014 08:59:42 +0000 (10:59 +0200)]
keymap: change action flag NO_ACCEL -> ACCEL
It's easier to deal with, but we need to set it as "factory default".
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 16 Feb 2014 08:22:32 +0000 (10:22 +0200)]
action: fix SwitchScreen "same" field handling
This used to *unset* a flag called "SwitchApplication"; we changed the
flag to "same" but forgot to switch the cases.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 15 Feb 2014 21:50:21 +0000 (23:50 +0200)]
keymap-dump: add missing support for NoLock and NoUnlock flags
Based on a libxkbfile patch by Andreas Wettstein.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 15 Feb 2014 21:27:23 +0000 (23:27 +0200)]
keymap-dump: don't print "affect=lock" in PtrLock
It's the same as no flags, so might as well not print it.
(In fact it is slightly harmful, because it actively *clears* the affect
flags, which might have been set in some other manner. But in practice
this cannot happen).
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 15 Feb 2014 21:13:21 +0000 (23:13 +0200)]
keymap-dump: unbreak some complex lines
It's very hard to read as-is. Apologies for those reading over a VT100.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 15 Feb 2014 20:59:12 +0000 (22:59 +0200)]
expr: simplify ExprResolveButton
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 15 Feb 2014 20:28:41 +0000 (22:28 +0200)]
action: don't pass a keymap where a ctx is sufficient
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 15 Feb 2014 20:16:41 +0000 (22:16 +0200)]
action: add missing array_ndx checks
Only the "data" field can have them, and every other field needs to
error out if it appears. But some didn't check.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 15 Feb 2014 19:55:36 +0000 (21:55 +0200)]
action: move array_ndx errors into the Check functions
Makes more sense and flows more nicely this way.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 15 Feb 2014 19:48:31 +0000 (21:48 +0200)]
action: fix missing support for "affect" field
Support for setting this field was missing from the LockMods and
LockControls actions.
Based on a xkbcomp patch by Andreas Wettstein.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Thu, 13 Feb 2014 21:57:22 +0000 (23:57 +0200)]
ast: cast to ParseCommon explictly instead of using ->common
Some tools were getting mighty confused with what we were doing.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Thu, 13 Feb 2014 21:11:31 +0000 (23:11 +0200)]
action: simplify Check* functions
Instead of using those t1 t2 variables, pass the final destinations
directly (while making sure they are not modified in case of error).
This also ensures the types are right, e.g. in CheckGroupField it should
be int32_t, not xkb_layout_index_t (and indeed it takes a negation!).
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Wed, 12 Feb 2014 09:07:39 +0000 (11:07 +0200)]
darray: fix indentation
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Tue, 27 Nov 2012 08:42:15 +0000 (10:42 +0200)]
vmod: bring back support for direct vmod -> real mod mapping
This brings back the functionality that was removed in
b9c87eb710ba4a86455601ca8c5a516b25e20366. Though it is not used in
xkeyboard-config, from our current perspective it can be quite useful to
be able to set the mappings directly, thus sidestepping the ugly and
legacy-ridden modifier_map statement.
Here's an example of how to get rid of modifier_map statements (though
that would break core-X11 applications, since they must have the
mappings through keysyms):
virtual_modifiers NumLock = Mod2;
virtual_modifiers Alt = Mod1;
// Would be nice to map these to Alt, but that would be
// incompatible with xkbcomp and somewhat complicated
virtual_modifiers LAlt = Mod1;
virtual_modifiers RAlt = Mod1;
virtual_modifiers LevelThree = Mod5;
virtual_modifiers RControl = Control;
virtual_modifiers LControl = Control;
virtual_modifiers Super = Mod4;
virtual_modifiers Meta = Mod1;
virtual_modifiers Hyper = Mod4;
virtual_modifiers AltGr = Mod5;
virtual_modifiers LShift = Shift;
virtual_modifiers RShift = Shift;
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Tue, 11 Feb 2014 15:44:11 +0000 (17:44 +0200)]
build: small fixes and formatting of Makefile.am
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Tue, 11 Feb 2014 15:16:40 +0000 (17:16 +0200)]
build: fix libtest AM_CLFLAGS typo
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 27 Oct 2013 18:10:15 +0000 (20:10 +0200)]
Move src/xkbcomp/scanner-utils.h to src/
As we'll use it for things unrelated to xkbcomp.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 10 Feb 2014 18:50:58 +0000 (20:50 +0200)]
build: fix configure test for yacc
It only works if 'bison' or 'byacc' are provided, but sometimes byacc
is installed as plain 'yacc'. The check fails for that.
I broke this in bdd8c11, restore Daniel's retrospectively clever check.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 10 Feb 2014 18:33:34 +0000 (20:33 +0200)]
scanner: sort out scanner logging functions
First, make the rules and xkb scanners/parsers use the same logging
functions instead of rolling their own.
Second, use the gcc ##__VA_ARGS extension instead of dealing with C99
stupidity. I hope all relevant compilers support it.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 10 Feb 2014 13:18:22 +0000 (15:18 +0200)]
rules: always %-expand kccgst values
Previously the early-exit codepath might have left some values
unexpanded, and we'd go looking for e.g "%l%(v)".
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 10 Feb 2014 11:13:26 +0000 (13:13 +0200)]
test/rmlvo-to-kccgst: use default RMLVO values in translation
The tool's supposed to display exactly the same results as the library
code.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 10 Feb 2014 11:06:22 +0000 (13:06 +0200)]
context: add xkb_context_sanitize_rule_names()
We want all the default logic in a test, so encapsulate it in this
function, and make all the get_default_* functions static.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 10 Feb 2014 09:16:37 +0000 (11:16 +0200)]
rules: print full path in error messages
There can be multiple include paths. But it's nicer in any case.
This also makes scanner_error actually use log_err instead of log_warn -
oops.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 10 Feb 2014 09:11:27 +0000 (11:11 +0200)]
rules: include the path in failed-to-map error message
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 10 Feb 2014 10:24:50 +0000 (12:24 +0200)]
context: fix wrong VARIANT instead of LAYOUT getenv
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 21:21:19 +0000 (23:21 +0200)]
ast: remove unneeded 'ctx' param to XkbFileCreate
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 16:02:11 +0000 (18:02 +0200)]
x11: don't trust keycode before testing its range
The assert is not very useful access the key just before.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 15:49:30 +0000 (17:49 +0200)]
keymap: reduce padding in struct xkb_sym_interpret
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 15:18:08 +0000 (17:18 +0200)]
symbols: steal keys and modmaps when merging if possible
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 15:17:13 +0000 (17:17 +0200)]
compat: steal interps and leds when merging if possible
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 14:49:45 +0000 (16:49 +0200)]
types: steal types when merging if possible
Like we do everywhere else. Removes some unnecessary allocations and
copying.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 09:27:34 +0000 (11:27 +0200)]
doc: move some file comments into txt files in doc/
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 11:51:38 +0000 (13:51 +0200)]
state: check wrap_group_into_range() return value
It returns XKB_LAYOUT_INVALID in case num_groups == 0. So we shouldn't
just save it in the state.
Note, though, that this condition is generally impossible.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 9 Feb 2014 08:27:45 +0000 (10:27 +0200)]
x11: add 0 < ctrls->numGroups <= 4 assertion
This only happens if something is wrong in the server; a valid keymap
cannot be had in any case.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 16:30:41 +0000 (18:30 +0200)]
Remove m4/.gitkeep
Now there's a file in there.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 15:58:39 +0000 (17:58 +0200)]
keysym: use safe keysym comparison function
Instead of thinking about signed <-> unsigned an whatnot.
bsearch() is inline in glibc, so gcc optimizes this away anyway.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 15:22:14 +0000 (17:22 +0200)]
scanner: make line and column unsigned
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 15:15:37 +0000 (17:15 +0200)]
rules: get rid of struct location
Use the scanner token_{line,column} like we do in the other places.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 14:40:20 +0000 (16:40 +0200)]
api: deprecate XKB_MAP_COMPILE_PLACEHOLDER, and use KEYMAP instead of MAP
The PLACEHOLDER was not meant to be used, but c++ doesn't like passing 0
to enums, so it was used. For this reason we add all the NO_FLAGS items,
so the PLACEHOLDER shouldn't be used anymore.
Second, XKB_MAP is the prefix we used ages ago, KEYMAP is the expected
prefix here. So deprecate that as well.
The old names may still be used through the xkbcommon-compat.h header,
which is included by default (no need to include directly).
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 14:38:18 +0000 (16:38 +0200)]
x11: make sure not to use compat header
src/keymap.h already defines the necessary header guard, so just reverse
the include order.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 14:25:22 +0000 (16:25 +0200)]
x11: make some #defines unsigned
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 14:18:16 +0000 (16:18 +0200)]
x11: fix truncation of xkb controls mask off the wire
It's uint32_t, not uint16_t, so we were losing flags (not that it
matters in this case).
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 14:12:09 +0000 (16:12 +0200)]
x11: make msb_pos return unsigned
It was initially returning -1 for all-zero arguments, but now it returns
0.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 14:03:06 +0000 (16:03 +0200)]
keysym: fix types in bin_search
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 13:53:50 +0000 (15:53 +0200)]
state: optimize xkb_state_led_update_all()
Before:
ran@ran:~/src/libxkbcommon$ ./test/bench-key-proc
ran
20000000 iterations in 6.623018074s
After:
ran@ran:~/src/libxkbcommon$ ./test/bench-key-proc
ran
20000000 iterations in 4.762291091s
Not that anyone needs to process millions of keys per second...
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 13:30:05 +0000 (15:30 +0200)]
Use (1u << idx) instead of (1 << idx) where appropriate
It doesn't matter (I think), since the implicit conversion doesn't have
any effect (e.g. sign-extension). But it's better to be aware of the
type.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 13:10:09 +0000 (15:10 +0200)]
Use unsigned int for saving darray_size return value
See:
b9b3593cbdeb7f5b02d50cecaba6a0b47d4979ad
So these should be unsigned int's now.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 13:06:28 +0000 (15:06 +0200)]
action: fix misleading cast
The type is uint8_t and so is the checked range.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 13:05:05 +0000 (15:05 +0200)]
action: fix printing of underflowed value in error message
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 10:31:21 +0000 (12:31 +0200)]
scanner-utils: add some likely/unlikely annotations
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 10:29:51 +0000 (12:29 +0200)]
Define likely()/unlikely() macros
It serves as nice "hotspot" annotations, and can also help things, so
why not.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 8 Feb 2014 00:01:17 +0000 (02:01 +0200)]
Partially revert "ast: pack the ParseCommon struct"
This reverts commit
1e6e5669c6229846830f0b497591de4e3cf588eb.
It's probably safe, but let's not take any chances, as I don't have any
esoteric arch to test on. But keep the ATTR in case it's ever useful.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 22:08:06 +0000 (00:08 +0200)]
build: add -Wextra warnings
If it gets annoying, we can disable it. But for now it's clean.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 23:26:35 +0000 (01:26 +0200)]
ast: use more suitable types in a few ast nodes
The int ones cannot be signed (they come as such from the scanner, and
NEGATE is never applied to them).
The uint32_t one is really an atom, but presumably the type was never
converted to xkb_atom_t.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 23:13:50 +0000 (01:13 +0200)]
darray: use unsigned int instead of size_t for array size
size_t is too large; if we ever need it, that's the least of our
problems. Besides, when we roll our own (e.g. in keymap.h) it's already
unsigned int. Instead, add some emergency overflow check. So, why?
- It plays nicer with all the other uint32_t's and unsigned int's (no
extensions, etc.).
- Reduces keymap memory usage by 5% or so as a bonus.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 22:42:54 +0000 (00:42 +0200)]
test/state: fix tautological test
test/state.c:376:5: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 22:27:54 +0000 (00:27 +0200)]
Fix sign-compare warnings
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 22:18:32 +0000 (00:18 +0200)]
symbols: reduce some loop iterators scope
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 19:12:53 +0000 (21:12 +0200)]
parser: fix unrecognized keysym handling
Integer may be negative, so also need to test >= 0.
Also, $$ was left uninitialized if the keysym wasn't recognized.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 18:58:19 +0000 (20:58 +0200)]
action: change xkb_pointer_button_action::button to uint8_t
In XkbPtrBtnAction it is unsigned char, don't know how it became signed.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 17:39:42 +0000 (19:39 +0200)]
darray: cleanup
We have quite diverged from the upstream file, so let's make it at least
easier to look at. Remove some unused macros and rename some for
consistency.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 17:28:48 +0000 (19:28 +0200)]
ast: make symsMapIndex unsigned
It doesn't need to be signed.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 16:49:22 +0000 (18:49 +0200)]
action: Use ResolveInteger for PtrBtn.count, not ResolveButton
It's not a button.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 16:48:16 +0000 (18:48 +0200)]
action: check range of MovePtr X,Y values
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 16:09:30 +0000 (18:09 +0200)]
scanner: avoid strlen in keyword lookup, we know the len
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 15:29:34 +0000 (17:29 +0200)]
state: use the XKB_MOD_MASK constant
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 15:13:03 +0000 (17:13 +0200)]
x11: add #actions == #syms check
This must always hold (but if there are no actions, #actions==0), and
explicitly ensures there won't be a division-by-zero a bit below.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 7 Feb 2014 15:11:49 +0000 (17:11 +0200)]
x11: add explicit cast in mods conversion
Explicit is better and all.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Thu, 6 Feb 2014 23:35:56 +0000 (01:35 +0200)]
test: don't print control characters in interactive tests
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Tue, 4 Feb 2014 20:18:12 +0000 (22:18 +0200)]
x11: add missing #ifdef __cplusplus to header
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Tue, 4 Feb 2014 00:53:05 +0000 (02:53 +0200)]
Use secure_getenv when available
We probably don't want to get a privileged process to compile arbitrary
keymaps. So we should be careful about the envvars which control include
paths or default RMLVOs. But then secure_getenv is more sensible for
everything we do.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Tue, 4 Feb 2014 00:48:41 +0000 (02:48 +0200)]
build: some fixes in configure.ac
- Use 'test =' instead of 'test ==' in the x11 test. The second one
might not work with e.g. dash, whoops.
- Use AS_IF instead of 'if'. It actually blends in better..
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 2 Feb 2014 10:13:26 +0000 (12:13 +0200)]
Bump version to 0.4.0
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 2 Feb 2014 10:08:43 +0000 (12:08 +0200)]
Update README
- Remove outdated information about API/ABI stability. If we ever break
API or ABI, we'll do a major release. But currently everything is
stable.
- Remove outdated warnings about internal symbols. You simply cannot
access them...
- Briefly mention xkbcommon-x11 existence.
- Update git and bug URLs.
- Add myself as maintainer :)
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 2 Feb 2014 10:05:35 +0000 (12:05 +0200)]
Update NEWS
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 2 Feb 2014 09:13:28 +0000 (11:13 +0200)]
build: add configure summary
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Tue, 30 Jul 2013 12:06:40 +0000 (15:06 +0300)]
x11: add a couple of tests
Add two tests:
./test/interactive-x11
which is like test/interactive-evdev, but should behave exactly like your
X keyboard and react to state and keymap changes - in other words, just
like typing in xterm. Press ESC to exit.
./test/x11
which currently should only print out the same keymap as
xkbcomp $DISPLAY out.xkb
(modulo some whitespace and some constructs we do not support.)
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 20 Jul 2013 20:21:44 +0000 (23:21 +0300)]
x11: add XKB protocol keymap and state creation support
These are function to create an xkb_keymap directly from XKB requests
to the X server. This opens up the possibility for X clients to use
xcb + xcb-xkb + xkbcommon as a proper replacement for Xlib + xkbfile for
keyboard support.
The X11 support must be enabled with --enable-x11 for now.
The functions are in xkbcommon/xkbcommon-x11.h. It depends on a recent
libxcb with xkb enabled. The functions are in a new libxkbcommon-x11.so,
with a new pkg-config file, etc. so that the packages may be split, and
libxkbcommon.so itself remains dependency-free.
Why not just use the RMLVO that the server puts in the _XKB_RULES_NAMES
property? This does not account for custom keymaps, on-the-fly keymap
modifications, remote clients, etc., so is not a proper solution in
practice. Also, some servers don't even set it. Now, the client just
needs to recreate the keymap in response to a change in the server's
keymap (as Xlib clients do with XRefreshKeyboardMapping() and friends).
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 13 Jan 2014 16:19:36 +0000 (18:19 +0200)]
build: error out on undefined symbols
This helps ensure we don't ship a library with undefined symbols, which
can easily happen with multiple inter-dependent DSOs.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 13 Jan 2014 15:20:54 +0000 (17:20 +0200)]
context: split private functions to context-priv.c
(Same as keymap-priv.c).
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Mon, 13 Jan 2014 15:07:41 +0000 (17:07 +0200)]
keymap: split private functions to keymap-priv.c
This makes it easier to share the private functions in other DSOs
without relying (too much) on dead code elimination, exported symbols,
etc.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 2 Aug 2013 07:19:01 +0000 (10:19 +0300)]
keymap: move XkbEscapeMapName() to keymap.c.
So we can use it outside src/xkbcomp; it is not really specific to it.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Tue, 30 Jul 2013 10:38:51 +0000 (13:38 +0300)]
test: rename test/interactive to interactive-evdev
And share the key-printing functions. In preparation for adding more
interactive-* variants.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 12 Jan 2014 12:37:39 +0000 (14:37 +0200)]
context: remove mostly useless log wrappers
Just use xkb_log directly.
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 12 Jan 2014 11:18:39 +0000 (13:18 +0200)]
parser: shutup some 'may be used uninitialized' warnings
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sun, 12 Jan 2014 08:53:23 +0000 (10:53 +0200)]
action, types: remove unused Report functions
Signed-off-by: Ran Benita <ran234@gmail.com>
Hardening [Wed, 8 Jan 2014 20:22:45 +0000 (21:22 +0100)]
Add a constant for NumLock
This trivial patch adds the name of the Numlock modifier
Ran Benita [Sat, 11 Jan 2014 14:56:20 +0000 (16:56 +0200)]
test/state: fix some *_{is,are}_active() tests
These functions also return -1 on invalid input. The original tests
didn't check that, but used !tests instead. Since then we've changed
them, but some were missed, and for some we forgot to remove the ! (or
you can say they were extra clever).
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Sat, 11 Jan 2014 14:40:42 +0000 (16:40 +0200)]
Fix some cppcheck warnings
Someone was nice enough to run this for us:
ftp://ftp.sunet.se/pub/Linux/distributions/Debian/debian/pool/main/libx/libxkbcommon/libxkbcommon_0.3.1.orig.tar.gz
[libxkbcommon-0.3.1/src/keymap.c:86]: (style) The scope of the variable 'j' can be reduced.
[libxkbcommon-0.3.1/src/keymap.c:87]: (style) The scope of the variable 'key' can be reduced.
[libxkbcommon-0.3.1/src/keysym-utf.c:843]: (style) The scope of the variable 'mid' can be reduced.
[libxkbcommon-0.3.1/src/state.c:992]: (style) The scope of the variable 'str' can be reduced.
[libxkbcommon-0.3.1/src/xkbcomp/action.c:467]: (style) The scope of the variable 'absolute' can be reduced.
[libxkbcommon-0.3.1/src/xkbcomp/rules.c:468]: (style) The scope of the variable 'consumed' can be reduced.
[libxkbcommon-0.3.1/src/xkbcomp/rules.c:862]: (style) The scope of the variable 'mlvo' can be reduced.
[libxkbcommon-0.3.1/src/xkbcomp/rules.c:863]: (style) The scope of the variable 'kccgst' can be reduced.
[libxkbcommon-0.3.1/src/xkbcomp/rules.c:865]: (style) The scope of the variable 'match_type' can be reduced.
[libxkbcommon-0.3.1/src/xkbcomp/symbols.c:753]: (style) The scope of the variable 'toAct' can be reduced.
[libxkbcommon-0.3.1/src/xkbcomp/symbols.c:1573]: (style) The scope of the variable 'key' can be reduced.
[libxkbcommon-0.3.1/test/common.c:80]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'.
[libxkbcommon-0.3.1/test/interactive.c:358]: (style) The scope of the variable 'nevs' can be reduced.
[libxkbcommon-0.3.1/test/interactive.c:236]: (style) Checking if unsigned variable 'nsyms' is less than zero.
[libxkbcommon-0.3.1/test/interactive.c:226]: (style) Unused variable: unicode
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Fri, 10 Jan 2014 22:26:58 +0000 (00:26 +0200)]
makekeys: mark keysym_names as static
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Wed, 1 Jan 2014 23:19:25 +0000 (01:19 +0200)]
keysym: clarify slightly confusing comparison functions
Make it clear what the search key type and array types are.
Signed-off-by: Ran Benita <ran234@gmail.com>
Jasper St. Pierre [Wed, 1 Jan 2014 18:01:12 +0000 (13:01 -0500)]
makekeys: Add a gcc pragma to ignore -Woverlength-strings
Jasper St. Pierre [Wed, 17 Jul 2013 22:56:03 +0000 (18:56 -0400)]
makekeys: Put a comment describing the origin of the file
Jasper St. Pierre [Wed, 17 Jul 2013 22:07:31 +0000 (18:07 -0400)]
ks_tables: Put all keysym names in one giant block
This makes the file take two segments instead of potentially many, causing
relocation issues.
Jasper St. Pierre [Wed, 17 Jul 2013 21:49:10 +0000 (17:49 -0400)]
makekeys: Move all of the table generation to Python
This makes it easier to run the Python script manually.
Jasper St. Pierre [Wed, 17 Jul 2013 21:44:07 +0000 (17:44 -0400)]
makekeys: Remove some semis
Python doesn't have these
Ran Benita [Wed, 1 Jan 2014 08:40:09 +0000 (10:40 +0200)]
keysyms: add German T3 layout keysyms from xproto
Reference:
http://cgit.freedesktop.org/xorg/proto/xproto/commit/?id=
6d4acb0e3a6568a8faaa651d4e3d32f917b9067b
Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita [Wed, 1 Jan 2014 08:36:54 +0000 (10:36 +0200)]
keysym: fix search for lexicographically larger strings
Probably a copy/paste error from a few lines above.
Signed-off-by: Ran Benita <ran234@gmail.com>