From peter.hutterer at who-t.net Mon Sep 1 23:42:05 2014 From: peter.hutterer at who-t.net (Peter Hutterer) Date: Tue, 2 Sep 2014 16:42:05 +1000 Subject: [PATCH evemu] python: call only once the libevdev backend per request In-Reply-To: <1409348056-8720-1-git-send-email-benjamin.tissoires@gmail.com> References: <1409348056-8720-1-git-send-email-benjamin.tissoires@gmail.com> Message-ID: <20140902064205.GB30973@jelly.redhat.com> On Fri, Aug 29, 2014 at 05:34:16PM -0400, Benjamin Tissoires wrote: > We can factorize some code, and provide a cleaner way of implementing > event_get_value(), event_get_name(), input_prop_get_name() and > input_prop_get_value() > > Signed-off-by: Benjamin Tissoires > --- > python/evemu/__init__.py | 112 ++++++++++++++++++++++++++--------------------- > 1 file changed, 62 insertions(+), 50 deletions(-) > > diff --git a/python/evemu/__init__.py b/python/evemu/__init__.py > index 65e4673..22035b8 100644 > --- a/python/evemu/__init__.py > +++ b/python/evemu/__init__.py > @@ -37,6 +37,54 @@ __all__ = ["Device", > > _libevdev = evemu.base.LibEvdev() > > +def _event_type_get_value_name(event_type): > + event_type_value = event_type_name = None > + > + if isinstance(event_type, int): > + event_type_name = _libevdev.libevdev_event_type_get_name(event_type) > + if event_type_name == None: shouldn't that be 0 for NULL? Reviewed-by: Peter Hutterer otherwise. Cheers, Peter > + return None, None > + event_type_value = event_type > + else: > + event_type_name = str(event_type) > + event_type_value = _libevdev.libevdev_event_type_from_name(event_type_name) > + if event_type_value < 0: > + return None, None > + > + return event_type_value, event_type_name > + > +def _event_code_get_value_name(event_type_value, event_code): > + event_code_value = event_code_name = None > + > + if isinstance(event_code, int): > + event_code_name = _libevdev.libevdev_event_code_get_name(event_type_value, event_code) > + if event_code_name == None: > + return None, None > + event_code_value = event_code > + else: > + event_code_name = str(event_code) > + event_code_value = _libevdev.libevdev_event_code_from_name(event_type_value, event_code_name) > + if event_code_value < 0: > + return None, None > + > + return event_code_value, event_code_name > + > +def _input_prop_get_value_name(prop): > + prop_value = prop_name = None > + > + if isinstance(prop, int): > + prop_name = _libevdev.libevdev_property_get_name(prop) > + if prop_name == None: > + return None, None > + prop_value = prop > + else: > + prop_name = str(prop) > + prop_value = _libevdev.libevdev_property_from_name(prop_name) > + if prop_value < 0: > + return None, None > + > + return prop_value, prop_name > + > def event_get_value(event_type, event_code = None): > """ > Return the integer-value for the given event type and/or code string > @@ -46,27 +94,13 @@ def event_get_value(event_type, event_code = None): > If an event code is passed, the event type may be given as integer or > string. > """ > - t = -1 > - c = -1 > - > - if isinstance(event_type, int): > - event_type = _libevdev.libevdev_event_type_get_name(event_type) > - if event_type == 0: # NULL > - return None > - > - t = _libevdev.libevdev_event_type_from_name(str(event_type)) > - > - if event_code == None: > - return None if t < 0 else t > + event_type_value, event_type_name = _event_type_get_value_name(event_type) > + if event_code == None or event_type_value == None: > + return event_type_value > > - if isinstance(event_code, int): > - event_code = _libevdev.libevdev_event_code_get_name(t, event_code) > - if event_code == 0: # NULL > - return None > - > - c = _libevdev.libevdev_event_code_from_name(t, str(event_code)) > + event_code_value, event_code_name = _event_code_get_value_name(event_type_value, event_code) > > - return None if c < 0 else c > + return event_code_value > > def event_get_name(event_type, event_code = None): > """ > @@ -77,51 +111,29 @@ def event_get_name(event_type, event_code = None): > If an event code is passed, the event type may be given as integer or > string. > """ > - if not isinstance(event_type, int): > - event_type = event_get_value(event_type) > - > - if event_type == None: > - return None > + event_type_value, event_type_name = _event_type_get_value_name(event_type) > + if event_code == None or event_type_name == None: > + return event_type_name > > - if event_code == None: > - type_name = _libevdev.libevdev_event_type_get_name(event_type) > - return None if type_name == 0 else type_name > + event_code_value, event_code_name = _event_code_get_value_name(event_type_value, event_code) > > - if not isinstance(event_code, int): > - event_code = event_get_value(event_type, event_code) > - > - if event_code == None: > - return None > - > - code_name = _libevdev.libevdev_event_code_get_name(event_type, event_code) > - > - return None if code_name == 0 else code_name > + return event_code_name > > def input_prop_get_name(prop): > """ > Return the name of the input property, or None if undefined. > """ > - if not isinstance(prop, int): > - prop = input_prop_get_value(prop) > + prop_value, prop_name = _input_prop_get_value_name(prop) > > - if prop == None: > - return None > - > - prop = _libevdev.libevdev_property_get_name(prop) > - return None if prop == 0 else prop > + return prop_name > > def input_prop_get_value(prop): > """ > Return the value of the input property, or None if undefined. > """ > - if isinstance(prop, int): > - prop = input_prop_get_name(prop) > - > - if prop == None: > - return None > + prop_value, prop_name = _input_prop_get_value_name(prop) > > - prop = _libevdev.libevdev_property_from_name(str(prop)) > - return None if prop < 0 else prop > + return prop_value > > class InputEvent(object): > __slots__ = 'sec', 'usec', 'type', 'code', 'value' > -- > 1.9.3 > > _______________________________________________ > Input-tools mailing list > Input-tools at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/input-tools From consume.noise at gmail.com Tue Sep 2 00:29:29 2014 From: consume.noise at gmail.com (Daniel Martin) Date: Tue, 2 Sep 2014 09:29:29 +0200 Subject: [PATCH evemu] python: call only once the libevdev backend per request In-Reply-To: <20140902064205.GB30973@jelly.redhat.com> References: <1409348056-8720-1-git-send-email-benjamin.tissoires@gmail.com> <20140902064205.GB30973@jelly.redhat.com> Message-ID: <20140902072929.GA23412@unplugged.fritz.box> On Tue, Sep 02, 2014 at 04:42:05PM +1000, Peter Hutterer wrote: > On Fri, Aug 29, 2014 at 05:34:16PM -0400, Benjamin Tissoires wrote: > > We can factorize some code, and provide a cleaner way of implementing > > event_get_value(), event_get_name(), input_prop_get_name() and > > input_prop_get_value() > > > > Signed-off-by: Benjamin Tissoires > > --- > > python/evemu/__init__.py | 112 ++++++++++++++++++++++++++--------------------- > > 1 file changed, 62 insertions(+), 50 deletions(-) > > > > diff --git a/python/evemu/__init__.py b/python/evemu/__init__.py > > index 65e4673..22035b8 100644 > > --- a/python/evemu/__init__.py > > +++ b/python/evemu/__init__.py > > @@ -37,6 +37,54 @@ __all__ = ["Device", > > > > _libevdev = evemu.base.LibEvdev() > > > > +def _event_type_get_value_name(event_type): > > + event_type_value = event_type_name = None > > + > > + if isinstance(event_type, int): > > + event_type_name = _libevdev.libevdev_event_type_get_name(event_type) > > + if event_type_name == None: > > shouldn't that be 0 for NULL? Neither. Just was curious myself and tested it. - Everything returning a pointer should be sufficient for testing what happens if it returns NULL. Use malloc() and say that it returns a c_char_p: >>> from ctypes import * >>> libc = CDLL("libc.so.6") >>> libc.malloc.restype = c_char_p >>> libc.malloc.argtypes = [c_size_t] >>> ptr = libc.malloc(0) - Aaaah ... >>> type(ptr) - As it is an (bytes) object, the test with None doesn't work: >>> ptr is None False - But, a test on its length is possible: >>> len(ptr) 0 Cheers, Daniel Martin From consume.noise at gmail.com Tue Sep 2 03:14:29 2014 From: consume.noise at gmail.com (Daniel Martin) Date: Tue, 2 Sep 2014 12:14:29 +0200 Subject: [PATCH evemu] python: call only once the libevdev backend per request In-Reply-To: <20140902072929.GA23412@unplugged.fritz.box> References: <1409348056-8720-1-git-send-email-benjamin.tissoires@gmail.com> <20140902064205.GB30973@jelly.redhat.com> <20140902072929.GA23412@unplugged.fritz.box> Message-ID: On 2 September 2014 09:29, Daniel Martin wrote: > On Tue, Sep 02, 2014 at 04:42:05PM +1000, Peter Hutterer wrote: >> On Fri, Aug 29, 2014 at 05:34:16PM -0400, Benjamin Tissoires wrote: >> > We can factorize some code, and provide a cleaner way of implementing >> > event_get_value(), event_get_name(), input_prop_get_name() and >> > input_prop_get_value() >> > >> > Signed-off-by: Benjamin Tissoires >> > --- >> > python/evemu/__init__.py | 112 ++++++++++++++++++++++++++--------------------- >> > 1 file changed, 62 insertions(+), 50 deletions(-) >> > >> > diff --git a/python/evemu/__init__.py b/python/evemu/__init__.py >> > index 65e4673..22035b8 100644 >> > --- a/python/evemu/__init__.py >> > +++ b/python/evemu/__init__.py >> > @@ -37,6 +37,54 @@ __all__ = ["Device", >> > >> > _libevdev = evemu.base.LibEvdev() >> > >> > +def _event_type_get_value_name(event_type): >> > + event_type_value = event_type_name = None >> > + >> > + if isinstance(event_type, int): >> > + event_type_name = _libevdev.libevdev_event_type_get_name(event_type) >> > + if event_type_name == None: >> >> shouldn't that be 0 for NULL? > > Neither. Just was curious myself and tested it. > > - Everything returning a pointer should be sufficient for testing what > happens if it returns NULL. Use malloc() and say that it returns a > c_char_p: > > >>> from ctypes import * > >>> libc = CDLL("libc.so.6") > >>> libc.malloc.restype = c_char_p > >>> libc.malloc.argtypes = [c_size_t] > > >>> ptr = libc.malloc(0) > > - Aaaah ... > > >>> type(ptr) > > > - As it is an (bytes) object, the test with None doesn't work: > > >>> ptr is None > False > > - But, a test on its length is possible: > > >>> len(ptr) > 0 If we want to make it behave a bit more C-like (get None in case of NULL), we could set an errcheck function for libevdev_event_type_get_name() (Just tested in interactive mode with the short example from above and used a lambda to make it short): _api_prototypes = { #const char *libevdev_event_type_get_name(unsigned int type); "libevdev_event_type_get_name": { "argtypes": (c_uint,), "restype": c_char_p, "errcheck": lambda res, func, args: res if len(res) else None, }, ... From thierry.moreau at connotech.com Sat Sep 6 19:22:40 2014 From: thierry.moreau at connotech.com (Thierry Moreau) Date: Sun, 07 Sep 2014 02:22:40 +0000 Subject: Feedback on Synaptics with ClickPad Message-ID: <540BC170.1030908@connotech.com> Hi, first of all thanks for supporting this fairly new pointer device configuration. I encounter this because I install Linux from a barebone distribution (Crux 3.1) for reasons unrelated to the X system. Configuration summary: Kernel 3.16.1 xorg-xf86-input-synaptics 1.8.0 xorg.conf manually edited. Lenovo Thinkpad Edge E540 (same as T440) I see two difficulties: Despite Option "ClickFinger2" "0" Option "ClickFinger3" "0" in the configuration, xev still reports button events for buttons 2, 4, and 5 (mixed with buttons 1 and 3, so they woud be unreliable) when I play with 2 or 3 fingers on the clickpad. I guess I can live with predictable buttons 1 and 3, so I can patch (dirty) the source to ignore other button values. But maybe my whole experience with the clickpad/linux combination is affected more seriously by the second difficulty (I do not have much experience with a fully functional and ergonomics touchpad ...). So I venture to expose my second difficulty in which my own ignorance may be part of the problem. I have doubts about the X and Y coordinates translation in my configuration. From the X log file portion attached below, the following two lines worry me: [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5112 (res 42) [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - 3834 (res 42) My concern is that the geometry parameters expressed as percentage in the configuration would be distorted by the above ranges not being zero-based. For instance, the configuration lines: [ 42758.110] (**) Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" [ 42758.110] (**) Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0 8%" In order to be autonomous in advancing this troubleshooting, I lack basic knowledge of the X system configuration and properties mechanisms. E.g. why the above ClickFinger options do not appear effective, or the X and Y axis orientations, or a utility to display raw mouse events (xev reports coordinates for the monitored window). As a summary, I was able to advance the installation details (up-to-date software, kernel configuration, xorg.conf well adjusted to system configuration) and the device basically works for me. However, fine-tuning the touchpad parameters remains difficult. I may provide additional details if it can help you improve the synaptics linux support. Thanks a lot for this! -- Thierry Moreau --- Attachment [ 42758.085] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event5) [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall" [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall" [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons" [ 42758.085] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad' [ 42758.085] (**) SynPS/2 Synaptics TouchPad: always reports core events [ 42758.085] (**) Option "Device" "/dev/input/event5" [ 42758.110] (II) synaptics: SynPS/2 Synaptics TouchPad: found clickpad property [ 42758.110] (II) synaptics: SynPS/2 Synaptics TouchPad: found top buttonpad property [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5112 (res 42) [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - 3834 (res 42) [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255 [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 15 [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left double triple [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product 0x7 [ 42758.110] (**) Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" [ 42758.110] (**) Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0 8%" [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found [ 42758.110] (**) SynPS/2 Synaptics TouchPad: always reports core events [ 42758.123] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input6/event5" [ 42758.123] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 9) [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MinSpeed is now constant deceleration 2.5 [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MaxSpeed is now 1.75 [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) AccelFactor is now 0.046 [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1 [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1 [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000 [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4 [ 42758.123] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found [ 42758.123] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0) [ 42758.123] (**) SynPS/2 Synaptics TouchPad: Ignoring device from InputClass "touchpad ignore duplicates" [ 42758.123] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/event6) [ 42758.123] (**) TPPS/2 IBM TrackPoint: Applying InputClass "evdev pointer catchall" [ 42758.123] (II) Using input driver 'evdev' for 'TPPS/2 IBM TrackPoint' [ 42758.123] (**) TPPS/2 IBM TrackPoint: always reports core events [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: Device: "/dev/input/event6" [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Vendor 0x2 Product 0xa [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found 3 mouse buttons [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found relative axes [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found x and y relative axes [ 42758.123] (II) evdev: TPPS/2 IBM TrackPoint: Configuring as mouse [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: YAxisMapping: buttons 4 and 5 [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200 [ 42758.123] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/serio2/input/input7/event6" [ 42758.123] (II) XINPUT: Adding extended input device "TPPS/2 IBM TrackPoint" (type: MOUSE, id 10) [ 42758.123] (II) evdev: TPPS/2 IBM TrackPoint: initialized for relative axes. [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) keeping acceleration scheme 1 [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration profile 0 [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration factor: 2.000 [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration threshold: 4 [ 42758.123] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/mouse1) [ 42758.123] (II) No input driver specified, ignoring this device. [ 42758.123] (II) This device may have been added with another device file. ----- End From peter.hutterer at who-t.net Mon Sep 8 01:13:01 2014 From: peter.hutterer at who-t.net (Peter Hutterer) Date: Mon, 8 Sep 2014 18:13:01 +1000 Subject: Feedback on Synaptics with ClickPad In-Reply-To: <540BC170.1030908@connotech.com> References: <540BC170.1030908@connotech.com> Message-ID: <20140908081301.GA22301@jelly.local> Hi Thierry, This list is for some low-level input tools, not for the synaptics driver. Please send your email to xorg-devel at lists.freedesktop.org instead, thanks. Cheers, Peter On Sun, Sep 07, 2014 at 02:22:40AM +0000, Thierry Moreau wrote: > Hi, > > first of all thanks for supporting this fairly new pointer device > configuration. > > I encounter this because I install Linux from a barebone distribution (Crux > 3.1) for reasons unrelated to the X system. > > Configuration summary: > Kernel 3.16.1 > xorg-xf86-input-synaptics 1.8.0 > xorg.conf manually edited. > Lenovo Thinkpad Edge E540 (same as T440) > > I see two difficulties: > > Despite > Option "ClickFinger2" "0" > Option "ClickFinger3" "0" > in the configuration, xev still reports button events for buttons 2, 4, and > 5 (mixed with buttons 1 and 3, so they woud be unreliable) when I play with > 2 or 3 fingers on the clickpad. > > I guess I can live with predictable buttons 1 and 3, so I can patch (dirty) > the source to ignore other button values. But maybe my whole experience with > the clickpad/linux combination is affected more seriously by the second > difficulty (I do not have much experience with a fully functional and > ergonomics touchpad ...). > > So I venture to expose my second difficulty in which my own ignorance may be > part of the problem. > > I have doubts about the X and Y coordinates translation in my configuration. > From the X log file portion attached below, the following two lines worry > me: > > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - > 5112 (res 42) > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - > 3834 (res 42) > > My concern is that the geometry parameters expressed as percentage in the > configuration would be distorted by the above ranges not being zero-based. > For instance, the configuration lines: > > [ 42758.110] (**) Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" > [ 42758.110] (**) Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0 > 8%" > > In order to be autonomous in advancing this troubleshooting, I lack basic > knowledge of the X system configuration and properties mechanisms. E.g. why > the above ClickFinger options do not appear effective, or the X and Y axis > orientations, or a utility to display raw mouse events (xev reports > coordinates for the monitored window). > > As a summary, I was able to advance the installation details (up-to-date > software, kernel configuration, xorg.conf well adjusted to system > configuration) and the device basically works for me. However, fine-tuning > the touchpad parameters remains difficult. > > I may provide additional details if it can help you improve the synaptics > linux support. Thanks a lot for this! > > -- Thierry Moreau > > --- Attachment > [ 42758.085] (II) config/udev: Adding input device SynPS/2 Synaptics > TouchPad (/dev/input/event5) > [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev > touchpad catchall" > [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad > catchall" > [ 42758.085] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default > clickpad buttons" > [ 42758.085] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics > TouchPad' > [ 42758.085] (**) SynPS/2 Synaptics TouchPad: always reports core events > [ 42758.085] (**) Option "Device" "/dev/input/event5" > [ 42758.110] (II) synaptics: SynPS/2 Synaptics TouchPad: found clickpad > property > [ 42758.110] (II) synaptics: SynPS/2 Synaptics TouchPad: found top buttonpad > property > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - > 5112 (res 42) > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - > 3834 (res 42) > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - > 255 > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range > 0 - 15 > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left > double triple > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product > 0x7 > [ 42758.110] (**) Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" > [ 42758.110] (**) Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0 > 8%" > [ 42758.110] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found > [ 42758.110] (**) SynPS/2 Synaptics TouchPad: always reports core events > [ 42758.123] (**) Option "config_info" > "udev:/sys/devices/platform/i8042/serio1/input/input6/event5" > [ 42758.123] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics > TouchPad" (type: TOUCHPAD, id 9) > [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MinSpeed is > now constant deceleration 2.5 > [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MaxSpeed is > now 1.75 > [ 42758.123] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) AccelFactor > is now 0.046 > [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration > scheme 1 > [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1 > [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: > 2.000 > [ 42758.123] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration > threshold: 4 > [ 42758.123] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found > [ 42758.123] (II) config/udev: Adding input device SynPS/2 Synaptics > TouchPad (/dev/input/mouse0) > [ 42758.123] (**) SynPS/2 Synaptics TouchPad: Ignoring device from > InputClass "touchpad ignore duplicates" > [ 42758.123] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint > (/dev/input/event6) > [ 42758.123] (**) TPPS/2 IBM TrackPoint: Applying InputClass "evdev pointer > catchall" > [ 42758.123] (II) Using input driver 'evdev' for 'TPPS/2 IBM TrackPoint' > [ 42758.123] (**) TPPS/2 IBM TrackPoint: always reports core events > [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: Device: "/dev/input/event6" > [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Vendor 0x2 Product 0xa > [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found 3 mouse buttons > [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found relative axes > [ 42758.123] (--) evdev: TPPS/2 IBM TrackPoint: Found x and y relative axes > [ 42758.123] (II) evdev: TPPS/2 IBM TrackPoint: Configuring as mouse > [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: YAxisMapping: buttons 4 and > 5 > [ 42758.123] (**) evdev: TPPS/2 IBM TrackPoint: EmulateWheelButton: 4, > EmulateWheelInertia: 10, EmulateWheelTimeout: 200 > [ 42758.123] (**) Option "config_info" > "udev:/sys/devices/platform/i8042/serio1/serio2/input/input7/event6" > [ 42758.123] (II) XINPUT: Adding extended input device "TPPS/2 IBM > TrackPoint" (type: MOUSE, id 10) > [ 42758.123] (II) evdev: TPPS/2 IBM TrackPoint: initialized for relative > axes. > [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) keeping acceleration scheme > 1 > [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration profile 0 > [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration factor: 2.000 > [ 42758.123] (**) TPPS/2 IBM TrackPoint: (accel) acceleration threshold: 4 > [ 42758.123] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint > (/dev/input/mouse1) > [ 42758.123] (II) No input driver specified, ignoring this device. > [ 42758.123] (II) This device may have been added with another device file. > ----- End > _______________________________________________ > Input-tools mailing list > Input-tools at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/input-tools From peter.hutterer at who-t.net Mon Sep 8 18:44:06 2014 From: peter.hutterer at who-t.net (Peter Hutterer) Date: Tue, 9 Sep 2014 11:44:06 +1000 Subject: [ANNOUNCE] libevdev 1.3 Message-ID: <20140909014406.GA9591@jelly.redhat.com> libevdev 1.3 is now available. Only some minor doc changes over the rc2, the big changes to libevdev 1.2 are: - per device log handlers are now supported (and take precedence over the global log handler) - libevdev_property_from_name() now provides name resolution for input properties Both of these are additions to the API, libevdev 1.3 is binary compatible with libevdev 1.2. Cheers, Peter Peter Hutterer (2): configure.ac: print prefix and libdir libevdev 1.3 Ran Benita (1): doc: fix slightly confusing code/type comments git tag: libevdev-1.3 http://www.freedesktop.org/software/libevdev/libevdev-1.3.tar.xz MD5: ab67de8f949e84ae2abb48af09eda423 libevdev-1.3.tar.xz SHA1: ac9d7e86e66c4a1d004244a1957dc5e2d7ae60f5 libevdev-1.3.tar.xz SHA256: 265411ce79a592b3074e9d07fb97d462745d0c7ef178254a6f720245ed253446 libevdev-1.3.tar.xz PGP: http://www.freedesktop.org/software/libevdev/libevdev-1.3.tar.xz.sig -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 181 bytes Desc: not available URL: