Peter Hutterer wrote: > On Sat, Jul 04, 2009 at 02:32:09PM +0200, Simon Thum wrote: >> Asbjørn Sannes wrote: >>> But for "Evdev Axis Calibration" I have not found anything that works .. >>> >>> Any hints and suggestions are welcome :) >> One could probably do a patch which adds property manipulation to >> config/hal, but it didn't surface yet. >> >> I remember to have heard hal can be configured to invoke scripts like >> yours on device add/remove. Not sure of it, though. > > I started that once but I'm being told HAL is on its way out so I decided > not to finish them. If you want to pick it up - be my guest, patches below. > Having said that, it is questionable whether they will go upstream if you do > finish them. There is quite a push away from HAL and adding new HAL-only > functionality is not the way to go. Especially for things like this that can > be set at runtime. What I had in mind wasn't actually hal-only. AFAIK we already merge hal keys into config. Likely, a udev-based solution would have to offer something similar anyway. So if we pick up config items which e.g. start with "Input Property " and then modify props accordingly, that might be a more sustainable approach.
Thoughts? Cheers, Simon > > Time is possibly better spent investigating libudev and finding out how to > automatically port current fdi configurations so they work on a udev-only > system. > > Cheers, > Peter > >>From 74c05685e47586f70e0d7b324a1e29eac44e59b9 Mon Sep 17 00:00:00 2001 > From: Peter Hutterer <[email protected]> > Date: Thu, 26 Mar 2009 14:23:09 +1000 > Subject: [PATCH] config: rename LIBHAL_... defines for better namespacing. > > --- > config/hal.c | 18 +++++++++--------- > 1 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/config/hal.c b/config/hal.c > index 36fa839..782fbb5 100644 > --- a/config/hal.c > +++ b/config/hal.c > @@ -40,8 +40,8 @@ > #include "os.h" > > > -#define LIBHAL_PROP_KEY "input.x11_options." > -#define LIBHAL_XKB_PROP_KEY "input.xkb." > +#define LIBHAL_OPTIONS_KEY "input.x11_options." > +#define LIBHAL_XKB_OPTIONS_KEY "input.xkb." > > > struct config_hal_info { > @@ -273,7 +273,7 @@ device_added(LibHalContext *hal_ctx, const char *udi) > if (psi_key){ > > /* normal options first (input.x11_options.<propname>) */ > - if (!strncasecmp(psi_key, LIBHAL_PROP_KEY, > sizeof(LIBHAL_PROP_KEY)-1)){ > + if (!strncasecmp(psi_key, LIBHAL_OPTIONS_KEY, > sizeof(LIBHAL_OPTIONS_KEY)-1)){ > char* tmp; > > /* only support strings for all values */ > @@ -319,7 +319,7 @@ device_added(LibHalContext *hal_ctx, const char *udi) > } else > { > /* all others */ > - add_option(&options, psi_key + > sizeof(LIBHAL_PROP_KEY)-1, tmp_val); > + add_option(&options, psi_key + > sizeof(LIBHAL_OPTIONS_KEY)-1, tmp_val); > xfree(tmp_val); > } > } else > @@ -335,15 +335,15 @@ device_added(LibHalContext *hal_ctx, const char *udi) > xkb_opts.options = strdup(tmp_val); > } > } > - } else if (!strncasecmp(psi_key, LIBHAL_XKB_PROP_KEY, > sizeof(LIBHAL_XKB_PROP_KEY)-1)){ > + } else if (!strncasecmp(psi_key, LIBHAL_XKB_OPTIONS_KEY, > sizeof(LIBHAL_XKB_OPTIONS_KEY)-1)){ > char* tmp; > > /* only support strings for all values */ > tmp_val = get_prop_string(hal_ctx, udi, psi_key); > > - if (tmp_val && strlen(psi_key) >= > sizeof(LIBHAL_XKB_PROP_KEY)) { > + if (tmp_val && strlen(psi_key) >= > sizeof(LIBHAL_XKB_OPTIONS_KEY)) { > > - tmp = &psi_key[sizeof(LIBHAL_XKB_PROP_KEY) - 1]; > + tmp = &psi_key[sizeof(LIBHAL_XKB_OPTIONS_KEY) - 1]; > > if (!strcasecmp(tmp, "layout")) > { > @@ -371,9 +371,9 @@ device_added(LibHalContext *hal_ctx, const char *udi) > { > /* server 1.4 had xkb options as strlist */ > tmp_val = get_prop_string_array(hal_ctx, udi, psi_key); > - if (tmp_val && strlen(psi_key) >= > sizeof(LIBHAL_XKB_PROP_KEY)) > + if (tmp_val && strlen(psi_key) >= > sizeof(LIBHAL_XKB_OPTIONS_KEY)) > { > - tmp = &psi_key[sizeof(LIBHAL_XKB_PROP_KEY) - 1]; > + tmp = &psi_key[sizeof(LIBHAL_XKB_OPTIONS_KEY) - 1]; > if (!strcasecmp(tmp, ".options") && > (!xkb_opts.options)) > xkb_opts.options = strdup(tmp_val); > } _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
