Ja tak troszkę odbiegnę od tematu za co z góry przepraszam - ale czy zamiast tylu diod do matrycy przycisków nie lepiej byłoby wykorzystać rejestry przesuwne?
"zwykłe" rejestry przesuwne same się nie "zatrzasną". W dodatku po "zatrzaśnięciu" trzeba sobie ręcznie przesłać ich stan - bit po bicie. Obecny układ skanuje matryce kilka tysięcy razy na sekundę. Jest to potrzebne szczególnie w przypadku enkoderów, które generują szybkozmienne sygnały z żałośnie małym przesunięciem czasowym miedzy kanałami. W przypadku stosowania rejestrów nie byłoby to możliwe.
Zamiast rejestrów używam innych układów: MCP23S17 (szybsze), ale wtedy nie będzie enkoderów lub będą...ale tylko porządne
Jednak najpierw muszę zakończyć proces pozbywania się sterowników LibUSB.
Dzięki Damos za poświęcony czas, ważne że problem udało się rozwiązać.

Było to całkiem ciekawe doświadczenie. Słyszałem o problemach LibUSB z trybem "filtered", ale jeszcze nigdy się z tym nie spotkałem "na żywo". Prawdopodobnie jest to kwestia konfliktów z innymi sterownikami. Teraz pamiętaj, że nie możesz zmieniać VID ani PID albo po zmianie musisz "doinstalować" filtr na nową parę identyfikatorów.