Bug#562052: Correctly identify touchpads
Martin Pitt
mpitt at debian.org
Wed Dec 30 04:23:07 PST 2009
Michael Tokarev [2009-12-30 14:01 +0300]:
> in both cases userspace is 32bit, but kernel bitness is different:
Ah, thanks.
> Udev merely collects text attributes from sysfs,
No, it also stores properties set in udev rules. I was particularly
interested in the ID_INPUT_* properties set by
/lib/udev/rules.d/60-persistent-input.rules, but they are not in your
dump.
> This is exactly what happens, to me and to the original bug reporter --
> we both are running 32bit userspace and 64bit kernel.
OK, thanks. Then it's quite clear why this happens.
> > So if we want to support mixed kernel/userspace word lenghts, we need
> > to change the logic to do a dynamic word size detection based on
> > uname().
>
> Not uname please. There should be a better way :)
I don't like it either, since you have to compare with a lot of fixed
strings, for each supported architecture. Do you know a better way of
asking the kernel for its word size?
> For example, see the number of words shown in "key" attribute:
> for 32bits it's two times of 64bits...
Not really. The attribute has as many words as necessary for the
highest bit set. E. g. many input devices have a single "0" there.
Check "cat /sys/class/input*/capabilities/key".
If the kernel would have an architecture independent representation of
those bits in the sys attribute, that would help a lot indeed. Right
now, I don't think we can sanely support mixed kernel/userspace
architectures.
Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
More information about the hal
mailing list