Thanks for the input Roderick. > In hid-sony we are not doing anything like hid-steam is doing (no virtual extra hidraw device). > > I just don't know how I feel about mixing of evdev and hidraw. It just means userspace drivers are doing things behind the back of the real driver (unless you add a virtual hidraw driver like hid-steam). For Sony devices I'm not a big fan as our devices are very complex. Our devices tend to use a single output report (same report id) for rumble, audio and other types of data. When we will expose audio properly, a user space application doing hidraw will mess up audio streams and other behavior (e.g. power settings are also in the same hid report). > > I don't know a good way yet. Has the usage of EVIOCGRAB been explored? If I recall it was intended to claim exclusive access to a device at least for input. It is a way of avoiding of some of the issues for simpler devices. > I've had some success using EVIOCGRAB in joycond: https://github.com/DanielOgorchock/joycond/blob/3969af9dcdc2b8199716ec08220df5d9ef7cfc6a/include/phys_ctlr.h#L46 It takes sole-control of the individual joy-con evdevs so it can re-expose them as a combined uinput device without having the original devices usable by other applications. I forgot to note that using the joy-cons (wirelessly or using the charging grip) with steam seems to work fine. I think steam is just using the evdev in that case. That leads me to suspect steam would work fine with the pro controller evdev itself if the matching rules it uses internally are altered to check the evdev's version number as well (which hid-nintendo alters for distinction). I guess the downside to using hid-nintendo as-is with steam is lack of gyro/accel support compared to steam's hidraw driver. Maybe it's best for me to finish up the gyro patch before getting this driver merged in that case. Several people have been successfully using the in-progress patch with the dolphin emulator. I need to clean things up with it though based on some of Roderick's previous feedback. Thanks, Daniel