[PATCH 0/3] xkb: Fix ISOLock

wettstein509 at solnet.ch wettstein509 at solnet.ch
Thu Jan 23 12:00:11 PST 2014

The goal of the following patches is to make ISOLock work.  The most
severe issues addressed were in the server, where the code used the
incorrect byte to look for the "affect" flags, and where the ClearLocks
flag from a transformed SetMods action silently became a NoLock flag.

A less severe issue was that ISOLock did not act on all actions that
occurred before the ISOLock itself; this did only work for modifier
actions.  This particular issue was known to (ef) more than 20 years
ago, as two comments in the server show.  To fix this is the messiest
part of my patches.  To avoid pathological cases (such as ISOLock on a
shifted level of a autorepeating modifier key), I disabled autorepeat
for SetMods, SetGroup, LockMods and LockGroup.

A minor issue was the missing support for the NoLock and NoUnlock flags.
I added such support not only for ISOLock, but also for LockControls and
LockMods (in the server, the latter was already available).

More information about the xorg-devel mailing list