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>
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>
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>
action: don't pass a keymap where a ctx is sufficient

Signed-off-by: Ran Benita <ran234@gmail.com>
expr: simplify ExprResolveButton

Signed-off-by: Ran Benita <ran234@gmail.com>
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>
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>
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>