Skip to content
  • Peter Hutterer's avatar
    Implement a quirks system to replace the udev property parsing · 5792af9a
    Peter Hutterer authored
    
    
    Previously, we had all extra device information ("This is an Apple Touchpad",
    "This touchpad causes pointer jumps", etc.) in the udev hwdb. The problem with
    the hwdb is that updating it is nontrivial for the average user and debugging
    when things go wrong is even harder. Plus, the hwdb has a matching scheme that
    is unpredictable unless one is familiar with the implementation.
    
    This patch set moves the hwdb entries into .ini style text files, with a
    simple line-based parser. A new libinput list-quirks tool can list the quirks
    applied to any given device, in --verbose mode it prints all matches as they
    apply or not apply.
    
    The data files are currently unused by libinput, that comes in a later patch.
    They're installed though, the defaults point to the /usr/share/libinput
    directory and for *temporary* local overrides the single file
    /etc/libinput/local-overrides.quirks.
    
    Failure to parse any file is a hard failure for the quirks system, but if the
    local override file doesn't exist that's fine.
    
    THIS IS NOT A CONFIGURATION INTERFACE! None of these settings are exposed via
    the libinput_device_config_* calls. There is no API guarantee for these files,
    think of them as source code.
    
    Signed-off-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
    5792af9a