Skip to content

Fully initialize input device state during init

Jonas Ådahl requested to merge jadahl/mutter:wip/init-input-sync into main

Before this, what we did was

  1. Init backend
  2. Init seat implementation in input thread
  3. Determine pointer cursor visibility, but without devices being added
  4. Start
  5. Configure monitors etc, queue applying them in idle callbacks
  6. Process device-added event (this might switch visibility; touch devices added hides, pointer devices shows)
  7. Do mode sets etc

This changes things to do this:

  1. Init backend
  2. Init seat implementation in input thread
  3. Wait until initial devices have been discovered and device-added events queued
  4. Dispatch the resulting Clutter events
  5. Dispatch the resulting stage events
  6. Determine pointer cursor visibility, with all devices being added
  7. Start
  8. Configure monitors etc, queue applying them in idle callbacks
  9. Do mode sets etc

Merge request reports