Skip to content
  • Peter Hutterer's avatar
    Support input ABI 12 · 8c7ad54d
    Peter Hutterer authored
    
    
    This commit adds support for input ABI 12, consisting of a number of
    changes:
    - requires an X server with an ABI of 12
    - valuators have a per-mode setting
    - new PreInit prototype.
    
    Because of the new PreInit prototype, the hotplug system has been switched
    around too (should have probably been done in a separate commit before,
    but...).
    
    The old hotplug mechanism added a separate ModuleInfoRec for the keyboard
    part of the driver. This isn't feasable for InputClass configurations, the
    driver part may get overwritten.
    
    On entering the driver, after checking a few default values, hotplug the
    keyboard device (wacom-style) and let it initialize. Because NIDR calls
    DEVICE_INIT and DEVICE_ON the keyboard must initialise the private pointer
    and pass it back to the original device.
    
    Call order is:
    NewInputDeviceRequest
     - jstkCorePreInit
       - jstkKeyboardHotplug
         - NewInputDeviceRequest
           - jstkCorePreInit
             immediately return jstkKeyboardPreInit()
           - keyboard DEVICE_INIT
           - keyboard DEVICE_ON
         return keyboard device
       - copy keyboard->priv to joystick->priv
       - finish jstkCorePreInit as normal
       - joystick DEVICE_INIT
       - joystick DEVICE_ON
    
    Signed-off-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: default avatarTrevor Woerner <twoerner@gmail.com>
    8c7ad54d