Skip to content
Commits on Source (8)
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:
include:
- project: 'wayland/ci-templates'
ref: 955e61e67cf29327cf907432f668df9eec4ca6a2 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
file: '/templates/fedora.yml'
variables:
FEDORA_RPMS: 'git autoconf automake libtool make xorg-x11-server-devel libudev-devel libevdev-devel libinput-devel xorg-x11-util-macros'
FEDORA_TAG: '2019-08-12.0'
UPSTREAM_REPO: xorg/drivers/xf86-input-libinput
BUILDAH_IMAGE: $CI_REGISTRY/wayland/ci-templates/buildah:latest
FEDORA_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FEDORA_VERSION:$FEDORA_TAG
stages:
- containers-build
- build
container_build:
extends: .fedora@container-ifnot-exists
stage: containers-build
variables:
GIT_STRATEGY: none
FEDORA_VERSION: 30
.default_artifacts: &default_artifacts
artifacts:
name: "automake-logs-$CI_JOB_NAME"
when: always
expire_in: 1 week
paths:
- _builddir/config.log
.default_build: &default_build
script:
- mkdir _builddir _inst
- pushd _builddir > /dev/null
- ../autogen.sh --prefix=$(realpath ../_inst) --disable-silent-rules
- make && make check
- make install
- popd > /dev/null
.build@template:
stage: build
<<: *default_artifacts
<<: *default_build
dependencies: []
.fedora-build@template:
extends: .build@template
image: $FEDORA_CONTAINER_IMAGE
fedora:30@default-build:
extends: .fedora-build@template
variables:
FEDORA_VERSION: 30
......@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-input-libinput],
[0.28.2],
[0.29.0],
[https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/issues],
[xf86-input-libinput])
AC_CONFIG_SRCDIR([Makefile.am])
......@@ -45,7 +45,7 @@ XORG_DEFAULT_OPTIONS
# Obtain compiler/linker options from server and required extensions
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.10] xproto [inputproto >= 2.2])
PKG_CHECK_MODULES(LIBINPUT, [libinput >= 1.4.901])
PKG_CHECK_MODULES(LIBINPUT, [libinput >= 1.7.0])
OLD_LIBS=$LIBS
OLD_CFLAGS=$CFLAGS
......
......@@ -1791,7 +1791,9 @@ xf86libinput_pick_device(struct xf86libinput_device *shared_device,
if (libinput_tablet_tool_get_serial(driver_data->tablet_tool) ==
libinput_tablet_tool_get_serial(tool) &&
libinput_tablet_tool_get_tool_id(driver_data->tablet_tool) ==
libinput_tablet_tool_get_tool_id(tool))
libinput_tablet_tool_get_tool_id(tool) &&
libinput_tablet_tool_get_type(driver_data->tablet_tool) ==
libinput_tablet_tool_get_type(tool))
return driver_data->pInfo;
}
}
......@@ -2062,6 +2064,7 @@ xf86libinput_create_tool_subdevice(InputInfoPtr pInfo,
struct xf86libinput_tablet_tool *t;
struct xf86libinput_tablet_tool_event_queue *queue;
struct libinput_tablet_tool *tool;
enum libinput_tablet_tool_type tool_type;
uint64_t serial, tool_id;
XF86OptionPtr options = NULL;
char name[64];
......@@ -2081,12 +2084,14 @@ xf86libinput_create_tool_subdevice(InputInfoPtr pInfo,
tool = libinput_event_tablet_tool_get_tool(event);
serial = libinput_tablet_tool_get_serial(tool);
tool_id = libinput_tablet_tool_get_tool_id(tool);
tool_type = libinput_tablet_tool_get_type(tool);
t->tool = libinput_tablet_tool_ref(tool);
xorg_list_append(&t->node, &shared_device->unclaimed_tablet_tool_list);
options = xf86ReplaceIntOption(options, "_libinput/tablet-tool-serial", serial);
options = xf86ReplaceIntOption(options, "_libinput/tablet-tool-id", tool_id);
options = xf86ReplaceIntOption(options, "_libinput/tablet-tool-type", tool_type);
/* Convert the name to "<base name> <tool type> (serial number)" */
if (snprintf(name,
sizeof(name),
......@@ -2111,13 +2116,15 @@ xf86libinput_find_device_for_tool(InputInfoPtr pInfo,
struct xf86libinput_device *shared_device = driver_data->shared_device;
uint64_t serial = libinput_tablet_tool_get_serial(tool);
uint64_t tool_id = libinput_tablet_tool_get_tool_id(tool);
enum libinput_tablet_tool_type tool_type = libinput_tablet_tool_get_type(tool);
xorg_list_for_each_entry(dev,
&shared_device->device_list,
shared_device_link) {
if (dev->tablet_tool &&
libinput_tablet_tool_get_serial(dev->tablet_tool) == serial &&
libinput_tablet_tool_get_tool_id(dev->tablet_tool) == tool_id) {
libinput_tablet_tool_get_tool_id(dev->tablet_tool) == tool_id &&
libinput_tablet_tool_get_type(dev->tablet_tool) == tool_type) {
return dev->pInfo->dev;
}
}
......@@ -2332,6 +2339,8 @@ xf86libinput_handle_event(struct libinput_event *event)
xf86libinput_handle_tablet_pad_strip(pInfo,
libinput_event_get_tablet_pad_event(event));
break;
case LIBINPUT_EVENT_SWITCH_TOGGLE:
break;
}
out:
......@@ -3296,16 +3305,19 @@ claim_tablet_tool(InputInfoPtr pInfo)
struct xf86libinput_device *shared_device = driver_data->shared_device;
struct xf86libinput_tablet_tool_event_queue *queue;
struct xf86libinput_tablet_tool *t;
enum libinput_tablet_tool_type tool_type;
uint64_t serial, tool_id;
serial = (uint32_t)xf86CheckIntOption(pInfo->options, "_libinput/tablet-tool-serial", 0);
tool_id = (uint32_t)xf86CheckIntOption(pInfo->options, "_libinput/tablet-tool-id", 0);
tool_type = (uint32_t)xf86CheckIntOption(pInfo->options, "_libinput/tablet-tool-type", 0);
xorg_list_for_each_entry(t,
&shared_device->unclaimed_tablet_tool_list,
node) {
if (libinput_tablet_tool_get_serial(t->tool) == serial &&
libinput_tablet_tool_get_tool_id(t->tool) == tool_id) {
libinput_tablet_tool_get_tool_id(t->tool) == tool_id &&
libinput_tablet_tool_get_type(t->tool) == tool_type) {
driver_data->tablet_tool = t->tool;
queue = libinput_tablet_tool_get_user_data(t->tool);
if (queue)
......