mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 07:01:23 +00:00
Input: introduce device properties
Today, userspace sets up an input device based on the data it emits. This is not always enough; a tablet and a touchscreen may emit exactly the same data, for instance, but the former should be set up with a pointer whereas the latter does not need to. Recently, a new type of touchpad has emerged where the buttons are under the pad, which changes logic without changing the emitted data. This patch introduces a new ioctl, EVIOCGPROP, which enables user access to a set of device properties useful during setup. The properties are given as a bitmap in the same fashion as the event types, and are also made available via sysfs, uevent and /proc/bus/input/devices. Acked-by: Ping Cheng <pingc@wacom.com> Acked-by: Chase Douglas <chase.douglas@canonical.com> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
This commit is contained in:
parent
4dd295a73e
commit
85b7720039
5 changed files with 44 additions and 0 deletions
|
@ -677,6 +677,10 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
|
|||
#define EVIOC_MASK_SIZE(nr) ((nr) & ~(_IOC_SIZEMASK << _IOC_SIZESHIFT))
|
||||
switch (EVIOC_MASK_SIZE(cmd)) {
|
||||
|
||||
case EVIOCGPROP(0):
|
||||
return bits_to_user(dev->propbit, INPUT_PROP_MAX,
|
||||
size, p, compat_mode);
|
||||
|
||||
case EVIOCGKEY(0):
|
||||
return bits_to_user(dev->key, KEY_MAX, size, p, compat_mode);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue