Remove some redundant logging, and reduce the log-level in most cases. The only
case that is really critical is if a worker failed while hanlding an event, so
keep that at error level.
The old tags are read from the db when deciding which tags to clear,
make sure we don't write out the new db before the old one has been
read.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
When running udevadm settle --timeout=0, the ping always times out, and
udevadm will return 0 without checking the queue state.
(David: Use a reasonable timeout to still get the barrier provided by
ctrl-ping)
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
udevadm manual says:
A value of 0 will check if the queue is empty and always return
immediately.
However, currently we ignore the deadline if the value is 0, and wait
without any limit.
Zero timeout behaved according to the documentation until commit
ead7c62ab7 (udevadm: settle - kill alarm()). Looking at this patch, it
seems that the behavior change was unintended.
This patch restores the documented behavior.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The Trust TB7300 (relabelled Waltop?) tablet has a scrollwheel which shows
up as a /dev/input/event# node all by itself. Currently input_id does not
set any ID_INPUT_FOO attr on this causing it it to not be recognized by
Xorg / libinput.
This commit fixes this by marking it with ID_INPUT_KEY.
Reported-by: Sjoerd Timmer <themba@randomdata.nl>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Make test_pointer / test_keys return a boolean indicating whether or not
they've set any properties on the device.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
USB and PCI soundcards have a nice set of ID_* properties. It would
be handy for firewire soundcards to have the same.
Note that this removes the explicit setting of ID_ID in the firewire
conditional. Because we are now setting ID_SERIAL, ID_ID will come
from later in the file.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The ALSA id sysattr is generated by the sound subsystem and is not
a stable identifier. It is generated though some string manipulation
then made unique if there is a conflict. This means that it is
enumeration-dependent and shouldn't be used for ID_ID.
If ID_ID is supposed to be system-unique, it is not already since
for firewire it is generated from the guid and there are broken
firewire devices that have duplicate guids across devices.
This is tracked for PulseAudio at
https://bugs.freedesktop.org/show_bug.cgi?id=90129.
This is essentially a revert of systemd
ed1b2d9fc7.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Multiple models in the same hardware series are likely to have similar
specs. We should use organization similar to hwdb/60-evdev.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Like the T440s these need the sensitity to be set significantly higher
then the default of 128 for the trackpoint to be usable. Like with the
T440s 200 seems to be a good value to get a reasonable but not too high
sensitivity.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The atmel driver sets a default resolution of 20 for each touchpads it
creates. On this model, 10 is more appropriate.
The resolution is not set for the touchscreen by the kernel, so match
the name to both touchpad and touchscreen.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The Lenovo X230 advertize a vertical resolution of 136, which gives a true
size of 31 mm. The actual physical size of the touchpad is 40 mm, so
override the resolution to 100.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The pointingstick of the Dell Latitude E6400 is somewhat slow by default,
whereas the pointingstick of the Dell Latitude D620 is much too fast by
default, set POINTINGSTICK_CONST_ACCEL for both of them to adjust for this.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Lenovo has changed the sensitivity of the trackpoint on the x240 / T440s / T540
generation of Thinkpads, making them somewhat insensitive by default, add a
hwdb entry to tweak the sensitivity setting.
The ThinkPad X200s is way way too slow by default and unless you push the
trackpoint quite hard only sends delta events in the 1-2 range, tweak the
sensitivity to make it send a wider range of deltas and apply a const accel
factor to make it have a more reasonable speed by default.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
IBM / Lenovo trackpoints allow specifying a sensitivity setting through a
ps/2 command, which changes the range of the deltas sent when using the
trackpoint.
On some models with normal usage only deltas of 1 or 2 are send, resulting in
there only being 2 mouse cursor movement speeds, rather than the expected fluid
scale. Changing the sensitivity to a higher level than the bootup default fixes
this.
This commit adds support for setting a POINTINGSTICK_SENSITIVITY value
in hwdb to allow changing the sensitivity on boot through udev / hwdb.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
There is quite a wide spread in the delta events generated by pointingsticks,
some generate deltas of 1-2 under normal use, while others generate deltas
from 1-20.
This commit adds a hwdb file which allows specifying a per model
POINTINGSTICK_CONST_ACCEL value which can be used by the userspace input stack
to normalize the deltas so that all pointingsticks get the same feeling ootb.
The hwdb matching re-uses the existing 60-evdev.rules.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
We _always_ return NULL from destructors to allow direct assignments to
the variable holding the object. Especially on hashmaps, which treat NULL
as empty hashmap, this is pretty neat.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>