Skip to content
  • Peter Hutterer's avatar
    Revert "Split mixed pointer/keyboard devices into two separate X devices" · 83dfd31e
    Peter Hutterer authored
    When using logind, this causes the server to hang when a split device is
    unplugged. The reason is mostly in the server, when open the device by
    requesting the logind fd, the server loops through the device list to check if
    any other device has the same major/minor (see systemd_logind_take_fd()) and
    returns the pInfo->fd for that device instead of requesting the fd again from
    logind.
    
    For libinput devices, the pInfo->fd is the epollfd, not the actual device, so
    our second device gets the epollfd assigned. When the devices are removed, we
    keep the device fd open and release the epollfd through logind.
    
    This reverts commit c943739a.
    83dfd31e