libevdev merge requestshttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests2020-03-28T11:04:32Zhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/49gitlab CI: use the new templates with a single job only2020-03-28T11:04:32ZPeter Hutterergitlab CI: use the new templates with a single job onlyNo more ifnot-exists, it's all build now with a variable to control the forced
rebuild.
Updated to use the `ci-fairy` tool as well, both to generate images and to delete the old images.No more ifnot-exists, it's all build now with a variable to control the forced
rebuild.
Updated to use the `ci-fairy` tool as well, both to generate images and to delete the old images.Peter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/41Don't overrun the chances array when synching > MAX_SLOTS2020-03-13T04:12:43ZPeter HuttererDon't overrun the chances array when synching > MAX_SLOTSOn a device with more than 256 slots we would read (and copy) past our changes
stack-allocated changes array. Fix this by capping to MAX_SLOTS though this
also requires us to memset the target where it is larger than MAX_SLOTS.
There ar...On a device with more than 256 slots we would read (and copy) past our changes
stack-allocated changes array. Fix this by capping to MAX_SLOTS though this
also requires us to memset the target where it is larger than MAX_SLOTS.
There are no real devices with 256+ slots, so this is a theoretical issue
only.
Fixes #11
cc @mforneyPeter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/42fix include paths for meson2020-03-13T04:04:20ZPeter Huttererfix include paths for mesonhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/48Switch to the fdo ci templates2020-03-13T03:39:32ZPeter HuttererSwitch to the fdo ci templateshttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/47gitlab CI: add static-build meson pipeline2020-03-11T06:53:30ZPeter Seiderergitlab CI: add static-build meson pipelineAlternative to !46 with simple check aginst libevdev.a installation (downside is the custom build script instead of the meson build template).Alternative to !46 with simple check aginst libevdev.a installation (downside is the custom build script instead of the meson build template).https://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/45meson.build: enable static library build2020-03-10T11:45:50ZPeter Seiderermeson.build: enable static library buildUse meson library() instead of shared_library() to enable
static build.
See [1] for buildroot reference.
[1] http://lists.busybox.net/pipermail/buildroot/2020-March/276477.htmlUse meson library() instead of shared_library() to enable
static build.
See [1] for buildroot reference.
[1] http://lists.busybox.net/pipermail/buildroot/2020-March/276477.htmlhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/44Update to the latest ci-templates2020-03-08T23:07:46ZPeter HuttererUpdate to the latest ci-templatesThese are the FDO-namespaced templates, so update to that. And use a helper script for container deletion though eventually that script too should move to the ci-templates repository.
cc @bentiss for a second pair of eyesThese are the FDO-namespaced templates, so update to that. And use a helper script for container deletion though eventually that script too should move to the ci-templates repository.
cc @bentiss for a second pair of eyesPeter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/43README: note that patches go as MRs to gitlab now2020-03-05T21:56:34ZPeter HuttererREADME: note that patches go as MRs to gitlab nowMake the GitLab spelling consistent too and remove the git protocol link, it
looks awkward in the rendering and you can get all that from the gitlab repo
anywayMake the GitLab spelling consistent too and remove the git protocol link, it
looks awkward in the rendering and you can get all that from the gitlab repo
anywayPeter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/401.9.0 release2020-03-02T04:15:59ZPeter Hutterer1.9.0 releasePeter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/37Use editorconfig instead of a sprinkling of :vim: instructions2020-02-27T06:27:30ZPeter HuttererUse editorconfig instead of a sprinkling of :vim: instructionsPeter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/39CI: drop the distribution 'flavor'2020-02-27T05:57:57ZPeter HuttererCI: drop the distribution 'flavor'leftover from when we had to differ between "arch" and "archlinux" in the ci-templates.leftover from when we had to differ between "arch" and "archlinux" in the ci-templates.Peter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/38gitlab CI: don't allow failures on the kvm jobs2020-02-26T01:49:29ZPeter Hutterergitlab CI: don't allow failures on the kvm jobsThis is a leftover from libinput where we have to allow failures because of
frequent issues with timing. We don't have these issues here so a failed job
in the VM indicates a bug.This is a leftover from libinput where we have to allow failures because of
frequent issues with timing. We don't have these issues here so a failed job
in the VM indicates a bug.Peter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/36gitlab CI: update to the latest ci-templates again2020-02-25T09:33:44ZPeter Hutterergitlab CI: update to the latest ci-templates againUnclear what happend but I suspect a rebase went wrong so
e03cdd1d3ff3731eb1432501c48b742e2c6e34ca didn't actually update to the new
ci-templates.Unclear what happend but I suspect a rebase went wrong so
e03cdd1d3ff3731eb1432501c48b742e2c6e34ca didn't actually update to the new
ci-templates.https://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/35gitlab CI: prefill the junit conversion script from the gitlab environment2020-02-24T05:39:28ZPeter Hutterergitlab CI: prefill the junit conversion script from the gitlab environmentPeter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/34gitlab CI: hook up junit test reports to the meson results2020-02-24T04:42:13ZPeter Hutterergitlab CI: hook up junit test reports to the meson resultsThe KVM tests use this for now, not the container builds where we run meson
directly.
The python script to convert meson test logs to junit results expects suite
names, so let's add all tests to suites so we don't need to carry local
mo...The KVM tests use this for now, not the container builds where we run meson
directly.
The python script to convert meson test logs to junit results expects suite
names, so let's add all tests to suites so we don't need to carry local
modifications.Peter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/33Update to latest version of ci-templates2020-02-23T23:19:21ZPeter HuttererUpdate to latest version of ci-templatesPeter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/32Move the gitlab CI configuration parts to a YAML file2020-02-21T00:36:00ZPeter HuttererMove the gitlab CI configuration parts to a YAML fileSimilar to what the ci-templates already do anyway except our config is much simpler.Similar to what the ci-templates already do anyway except our config is much simpler.https://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/31CI: Add a scan-build target2020-02-20T08:16:00ZPeter HuttererCI: Add a scan-build targetcc @bentisscc @bentisshttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/30Coverity/scan-build fixes2020-02-19T08:30:50ZPeter HuttererCoverity/scan-build fixesAll somewhat recently introduced. oops.
cc @bentiss for a second pair of eyesAll somewhat recently introduced. oops.
cc @bentiss for a second pair of eyesPeter HuttererPeter Huttererhttps://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/19Fix touch termination and BTN_TOOL_ handling after SYN_DROPPED2020-02-19T03:01:08ZPeter HuttererFix touch termination and BTN_TOOL_ handling after SYN_DROPPEDcc @bentiss
This sits on top of !18
Assuming a `SYN_DROPPED` and at least one touch stopping (possibly restarting) during that `SYN_DROPPED`, we mangled the event sequences badly, causing libinput bug https://gitlab.freedesktop.org/l...cc @bentiss
This sits on top of !18
Assuming a `SYN_DROPPED` and at least one touch stopping (possibly restarting) during that `SYN_DROPPED`, we mangled the event sequences badly, causing libinput bug https://gitlab.freedesktop.org/libinput/libinput/issues/422. Specifically:
The first event frame would contain all the device state *and* the terminated touches. The second frame would contain *only* the touches that started or re-started during `SYN_DROPPED`. Because the key bits were part of the first touch, we could have a sequence like this for a `SYN_DROPPED` when changing from 3 fingers to 2 fingers (lifting all in between).
```
EV_KEY BTN_TOOL_DOUBLETAP 1
EV_ABS ABS_MT_SLOT 0
EV_ABS ABS_MT_TRACKING_ID -1
EV_ABS ABS_MT_SLOT 1
EV_ABS ABS_MT_TRACKING_ID -1
```
```
EV_ABS ABS_MT_SLOT 0
EV_ABS ABS_MT_TRACKING_ID 23
EV_ABS ABS_MT_SLOT 1
EV_ABS ABS_MT_TRACKING_ID 24
EV_ABS ABS_MT_SLOT 2
EV_ABS ABS_MT_TRACKING_ID -1
```
The first frame says two fingers are down (`BTN_TOOL_DOUBLETAP`) despite releasing two out of three fingers in the same frame. This causes libinput to get confused about how many touches the device can handle (there are devices that advertise more slots than they use, so we downward-adjust for that, see https://gitlab.freedesktop.org/libinput/libinput/issues/408).
Note also that touches that stopped were terminated in the second frame, not the first.
This patch series cleans up a fair chunk of the code, but eventually changes two things about the sequence above:
- any touches stopped are now terminated in the first frame
- the required `BTN_TOOL_*` events are inserted into the stream according to our touch count.
The above interaction thus becomes:
```
EV_KEY BTN_TOOL_TRIPLETAP 0
EV_ABS ABS_MT_SLOT 0
EV_ABS ABS_MT_TRACKING_ID -1
EV_ABS ABS_MT_SLOT 1
EV_ABS ABS_MT_TRACKING_ID -1
EV_ABS ABS_MT_SLOT 2
EV_ABS ABS_MT_TRACKING_ID -1
```
```
EV_ABS ABS_MT_SLOT 0
EV_ABS ABS_MT_TRACKING_ID 23
EV_ABS ABS_MT_SLOT 1
EV_ABS ABS_MT_TRACKING_ID 24
EV_KEY BTN_TOOL_DOUBLETAP 1
```Peter HuttererPeter Hutterer