summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2016-06-02tools: print button/ring/strip info for padsPeter Hutterer1-0/+19
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-06-02tools: show tablet-pad capabilities in libinput-list-devicesPeter Hutterer1-0/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-06-02tools: add missing space after listing touch/tablet capabilitiesPeter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-05-30tools: print the rotation angle in libinput-list-devicesPeter Hutterer1-0/+20
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-05-30tools: add missing space in libinput-list-devices outputPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-05-26tools: print the pad capabilitiesPeter Hutterer1-0/+14
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-04-19tools: draw some grids for positioning testing in the event-guiPeter Hutterer1-0/+42
Having a grid makes it easier to detect pointer jumps Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-04-18Add the LIBINPUT_DEVICE_CAP_TABLET_PAD capability and matching interfacePeter Hutterer2-0/+85
This interface handles the buttons on the physical tablet itself, including the touch ring and the strip. A notable difference to other libinput interfaces here is that we do not use linux/input.h event codes for buttons. Instead, the buttons are merely numbered sequentially, starting at button 1. This means: * the API is different, instead of get_button() we have get_button_number() to drive the point home * there is no seat button count. pads are inherently different devices and compositors should treat them as such. The seat button count makes sense when you want to know how many devices have BTN_LEFT down, but it makes no sense for buttons where all the semantics are handled by the compositor anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Reviewed-by: Carlos Garnacho <carlosg@gnome.org>
2016-04-12tools: update the doc publish tool to take a subdirPeter Hutterer1-1/+8
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-04-08tools: print the button name for tablet button eventsPeter Hutterer1-2/+8
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-02-05tools: fix output to say TABLET_TOOL instead of just tabletPeter Hutterer1-4/+4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-01-29tools: split drawing commands into helper functionsPeter Hutterer1-15/+54
Makes the draw() call a bit easier to read Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-01-28tools: draw the pointer sprite lastPeter Hutterer1-10/+10
Don't hide it behind other things Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-01-27Merge branch 'master' into tablet-supportPeter Hutterer3-0/+30
2016-01-27touchpad: add a config option to disable tap-and-dragPeter Hutterer3-0/+30
There are a number of use-cases where tapping may be desirable, but tap-and-drag is not, e.g. where tapping is used to select multiple items in a list. Having tap-and-drag on hinders this, and the nature of the interaction means it cannot be detected based on timeouts, movement thresholds, etc. Provide an option instead to turn tap-an-drag off. Tap-and-drag remains enabled by default (though tapping is disabled by default). For the touchpad tap state diagram, the new option disables the transition from state TOUCH to state TAPPED and releases the button immediately instead. This means that multitap-and-drag is disabled too since we now just loop around in the single-tap state for multitap. It also makes tapping more responsive - we don't have to wait for the timeout before we know whether it's a tap event. The first touch time is noted, we now send the button press with the time of the first touch and the release with the time of the release. This ensures a realistic time diff between the two events. https://bugs.freedesktop.org/show_bug.cgi?id=93502 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.netto> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-01-22tools: add support for tablet relative events to the event-guiPeter Hutterer1-0/+49
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Jason Gerecke <jason.gerecke@wacom.com>
2016-01-19Merge branch 'master' into tablet-supportPeter Hutterer1-2/+8
2016-01-15tools: share the axis and tip code where appropriatePeter Hutterer1-16/+13
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Jason Gerecke <jason.gerecke@wacom.com>
2016-01-15tools: get pressure/distance/tilt from a tip event tooPeter Hutterer1-0/+4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Jason Gerecke <jason.gerecke@wacom.com>
2016-01-11tools: print the button name too, not just the codePeter Hutterer1-2/+8
new output: event4 POINTER_BUTTON +0.84s BTN_RIGHT (273) released, seat count: 0 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-01-06tablet: insert "STATE" into proximity/tip statesPeter Hutterer2-3/+3
Makes it even longer, but at least it's consistent with button and key state. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
2015-12-21tablet: reduce event deltas to only apply to the wheelPeter Hutterer1-40/+17
Part of the big revamp to get rid of libinput_tablet_tool_axis and replace it with a set of axis-specific APIs. Only the rel wheel has true delta events, everything else is a delta calculated by libinput based on the previous position. Since we supply that position to the callers anyway, they can determine that delta themselves where needed. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Lyude <cpaul@redhat.com>
2015-12-21tablet: rename libinput_tablet_tool_has_axis into an axis-specific API setPeter Hutterer1-14/+12
Part of the big revamp to get rid of libinput_tablet_tool_axis and replace it with a set of axis-specific APIs. Note that this commit drops the ability to check whether a tablet has an x or y axis. If it doesn't, libinput won't initialize the tablet anyway so this was superfluous already. Likewise with the tilt axes - either we have x and y tilt or we have neither, so separate checks for tilt_x and tilt_y is unnecessary. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Lyude <cpaul@redhat.com>
2015-12-21tablet: rename axis_get_value into an axis-specific API setPeter Hutterer2-22/+12
Second part of the big revamp to get rid of libinput_tablet_tool_axis and replace it with a set of axis-specific APIs. Note that this commit drops the ability to get the absolute value from a relative wheel. The previous API always returned 0 for this case, it is not needed anymore. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Lyude <cpaul@redhat.com>
2015-12-21tablet: rename axis_has_changed into an axis-specific API setPeter Hutterer1-31/+12
First part of the big revamp to get rid of libinput_tablet_tool_axis and replace it with a set of axis-specific APIs. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Lyude <cpaul@redhat.com>
2015-12-14tools: print the wheel axis delta, not the axis valuePeter Hutterer1-1/+1
The axis value for a rel wheel is always 0 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-12-09Merge branch 'master' into tablet-supportPeter Hutterer1-3/+9
2015-12-07tools: print which scroll axis we have in event-debugPeter Hutterer1-3/+9
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-12-02tablet: drop the tool type 'finger' from the tablet interfacePeter Hutterer1-3/+0
If it's a finger, it's a touchscreen or a touchpad, not a tablet. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-24Merge branch 'master' into tablet-supportPeter Hutterer1-3/+3
2015-11-18tablet: rename the libinput_tool calls to libinput_tablet_toolPeter Hutterer1-25/+25
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename libinput_event_tablet to libinput_event_tablet_toolPeter Hutterer2-49/+49
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename LIBINPUT_EVENT_TABLET to LIBINPUT_EVENT_TABLET_TOOLPeter Hutterer2-16/+16
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename the tablet capability to a tablet_tool capabilityPeter Hutterer2-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename TOOL_TIP to TABLET_TOOL_TIPPeter Hutterer2-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename tool_tip_state to tablet_tool_tip_statePeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename TOOL_PROXIMITY_ to TABLET_TOOL_PROXIMITYPeter Hutterer2-3/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename tool_proximity_state to tablet_tool_proximity statePeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename TOOL_TYPE to TABLET_TOOL_TYPEPeter Hutterer1-8/+8
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename the tablet axes to "LIBINPUT_TABLET_TOOL_AXIS_..."Peter Hutterer2-45/+45
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename libinput_tablet_axis to libinput_tablet_tool_axisPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-18tablet: rename libinput_tool to libinput_tablet_toolPeter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-12tablet: split out tip handling into a separate eventPeter Hutterer2-0/+52
The tablet tip works like a button in the kernel but is otherwise not really a button. Split it into an explicit tip up/down event instead. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-09tools: take the start time before initializing the contextPeter Hutterer1-3/+3
Otherwise events that are already queued before the first libinput_dispatch() have a negative timestamp. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-11-09tools: print the tool ID in event-debugPeter Hutterer1-2/+5
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-11-09tablet: rename all tool types to LIBINPUT_TOOL_TYPE_*Peter Hutterer1-8/+8
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
2015-11-05tools: add tablet support to event-guiPeter Hutterer1-0/+69
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
2015-11-05tablet: widen the serial type to uint64_tPeter Hutterer1-1/+2
Internally we still use uint32_t because that's all we get from evdev. But eventually we'll have 64 bit serials. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
2015-10-21Merge branch 'master' into tablet-supportPeter Hutterer3-1/+57
2015-09-11Add an API to change pointer acceleration profilesPeter Hutterer3-1/+57
The quartett of new config functions is: libinput_device_config_accel_get_profiles libinput_device_config_accel_get_profile libinput_device_config_accel_set_profile libinput_device_config_accel_get_default_profile The profile defines how the pointer acceleration works, from a very high-level perspective. Two profiles are on offer, "adaptive", the standard one we have used so far and "flat" which is a simple multiplier of input deltas and provides 1:1 mapping of device movement vs pointer movement. The speed setting is on top of the profile, a speed of 0 (default) is the equivalent to "no pointer acceleration". This is popular among gamers and users of switchable-dpi mice. The flat profile unnormalizes the deltas, i.e. you get what the device does and any device below 800dpi will feel excruciatingly slow. The speed range [-1, 1] maps into 0-200% of the speed. At 200%, a delta of 1 is translated into a 2 pixel movement, anything higher makes it rather pointless. The flat profile is currently available for all pointer devices but touchpads. https://bugs.freedesktop.org/show_bug.cgi?id=89485 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>