Skip to content

Prefix undefined event codes with an underscore

Previously, event codes without a kernel define would resolve into properly named objects, e.g. libevdev.EV_REL.REL_0B

This breaks the API whenever the kernel introduces a new define because that named object will just disappear. e.g. the above REL_0B is now REL_WHEEL_HI_RES.

Since the undefined names aren't supposed to be used by callers directly anyway, rename them to be underscored instead: libevdev.EV_REL._REL_0B This means we can still return them from evbit() and events() but the underscore signals a private API.

The actual name remains the same, so print(_REL_0B.name) will not have an underscore. This is to avoid bugs/breakage where the caller uses the 3-lettter prefix for other purposes.

Fixes #6 (closed)

Edited by Peter Hutterer

Merge request reports