summaryrefslogtreecommitdiff
path: root/src/udev/udev.h
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2015-01-17 09:23:30 -0500
committerAnthony G. Basile <blueness@gentoo.org>2015-01-17 09:23:30 -0500
commite155f21d67540392c28ca71aebe3321785d6fa9f (patch)
tree5f3c13f307e9a3bf5d06520b50cd4294fdf122d3 /src/udev/udev.h
parent19a6261c64c1629fb92234d19ba4ed4ae8304cee (diff)
udev: Add builtin/rule to export evdev information as udev properties
This rule is only run on tablet/touchscreen devices, and extracts their size in millimeters, as it can be found out through their struct input_absinfo. The first usecase is exporting device size from tablets/touchscreens. This may be useful to separate policy and application at the time of mapping these devices to the available outputs in windowing environments that don't offer that information as readily (eg. Wayland). This way the compositor can stay deterministic, and the mix-and-match heuristics are performed outside. Conceivably, size/resolution information can be changed through EVIOCSABS anywhere else, but we're only interested in values prior to any calibration, this rule is thus only run on "add", and no tracking of changes is performed. This should only remain a problem if calibration were automatically applied by an earlier udev rule (read: don't). v2: Folded rationale into commit log, made a builtin, set properties on device nodes themselves v3: Use inline function instead of macro for mm. size calculation, use DECIMAL_STR_MAX, other code style issues v4: Made rule more selective v5: Minor style issues, renamed to a more generic builtin, refined rule further. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'src/udev/udev.h')
-rw-r--r--src/udev/udev.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/udev/udev.h b/src/udev/udev.h
index fae0408672..016eb232e5 100644
--- a/src/udev/udev.h
+++ b/src/udev/udev.h
@@ -160,6 +160,7 @@ enum udev_builtin_cmd {
UDEV_BUILTIN_NET_ID,
UDEV_BUILTIN_PATH_ID,
UDEV_BUILTIN_USB_ID,
+ UDEV_BUILTIN_EVDEV_ID,
UDEV_BUILTIN_MAX
};
struct udev_builtin {
@@ -186,6 +187,7 @@ extern const struct udev_builtin udev_builtin_kmod;
extern const struct udev_builtin udev_builtin_net_id;
extern const struct udev_builtin udev_builtin_path_id;
extern const struct udev_builtin udev_builtin_usb_id;
+extern const struct udev_builtin udev_builtin_evdev_id;
void udev_builtin_init(struct udev *udev);
void udev_builtin_exit(struct udev *udev);
enum udev_builtin_cmd udev_builtin_lookup(const char *command);