Как проверить, что устройства ввода находятся в одном физическом устройстве? - PullRequest
0 голосов
/ 02 февраля 2020

Поскольку некоторые устройства ввода, например геймпады, могут представлять несколько виртуальных устройств, таких как джойстик + мышь + клавиатура, я должен сгруппировать их в своем приложении, чтобы убедиться, что это тот же геймпад. Я не могу найти надежный способ в Linux для выявления таких случаев. У USB есть поле uniq, часто называемое также серийным номером, но я обнаружил, что:

  1. у большинства устройств оно пустое.
  2. многие дешевые / DIY-устройства неправильно используют это поле, заполняя его c данные для всех физических устройств, поэтому после группировки все геймпады будут выглядеть как одно, хотя они физически разделены.

Так что, очевидно, это поле не является надежным. Сравнение по имени также ненадежно, так как несколько одинаковых устройств ввода будут сгруппированы.

Поэтому мне нужен надежный способ определить, являются ли / dev / input / event0 и / dev / input / event1 физически одинаковыми устройствами или нет .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...