On Sat, Feb 17, 2018 at 10:19:14PM +0100, Pavel Machek wrote: > Hi! > > > > > > So, do you mean to implement this "disable" action as ioctl for > > > > > particular /dev/input/event* device (instead of sysfs entry)? > > > > > > > > Yes, so the device can be powered down without the device node being > > > > closed and made unavailable. I don't know whether that's something > > > > that's already possible for all cases, but there's already > > > > opportunistic in a lot of drivers and subsystems. > > > > > > > > This opens up a whole new wave of potential problems, but it's a more > > > > generally useful mechanism, I would think. > > > > > > Ok. How should API for this ioctl looks like? And do you have an idea > > > for name of that ioctl? > > > > > > Dmitry, what do you think about it? It is acceptable for you? > > > > first: sysfs files are pretty terrible because writing to them requires root > > and we don't have the benefit of logind. so for any sysfs toggle expect > > a nicely integrated userspace solution to be less than optimal. > > Well, you can chmod / chown sysfs files. and that's what I meant by "less than optimal" :) you're either chmodding, or suid, or any of the other solutions that aren't really good in the long run. > > besides: 99% of the above is figuring out the policy *when* to disable the > > device. disabling it is trivial by just closing the evdev nodes and tbh I > > don't think we (in userspace) should care about whether the device is > > powered down or now, it should be the default assumption that it is powered > > down when not in use. > > > > for the cases where you must keep the device open but you don't want events, > > EVIOCSMASK is likely the best solution. improving the kernel so it powers > > down the device when the mask excludes all events (and there are no other > > listeners) could be an interesting task. > > But yes, that sounds like an idea. > > BTW in the meantime, someone added this to pmos wiki... this should > solve some of my problems. > > Best regards, > Pavel > > > > FILE=~/.screenoff > if [ -f $FILE ]; then > xinput set-prop 8 "Device Enabled" 1 > xinput set-prop 6 "Device Enabled" 1 > xinput set-prop 9 "Device Enabled" 1 > xset dpms force on > rm ~/.screenoff > else > xinput set-prop 8 "Device Enabled" 0 > xinput set-prop 6 "Device Enabled" 0 > xinput set-prop 9 "Device Enabled" 0 > xset dpms force off > touch ~/.screenoff > fi xinput can resolve device names, using device ids is likely to cause upset. http://who-t.blogspot.com/2016/07/xinput-resolves-device-names-and.html Cheers, Peter -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html