diff options
Diffstat (limited to 'tests/x11/test_tablet.c')
| -rw-r--r-- | tests/x11/test_tablet.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/x11/test_tablet.c b/tests/x11/test_tablet.c index c35a266..ba815cb 100644 --- a/tests/x11/test_tablet.c +++ b/tests/x11/test_tablet.c @@ -341,6 +341,19 @@ int main(void) xi_pointer_event(&surface, &sample); ev = next(&surface); assert(ev.device == YASL_PTR_DEV_MOUSE && ev.button == 2 && ev.pen.pressure == 0); + for (int button = 4; button <= 7; button++) { + sample.detail = button; + sample.evtype = XI_ButtonPress; + xi_pointer_event(&surface, &sample); + ev = next(&surface); + assert(ev.kind == YASL_PTR_SCROLL); + assert(ev.scroll.x == (button == 6 ? -1 : button == 7 ? 1 : 0)); + assert(ev.scroll.y == (button == 4 ? -1 : button == 5 ? 1 : 0)); + sample.evtype = XI_ButtonRelease; + xi_pointer_event(&surface, &sample); + struct yasl_input_event unused; + assert(!yasl_surface_input_poll(&surface.base, &unused)); + } assert(pointer_button(2) == 1 && pointer_button(8) == 3); pointer.pressure = (struct tablet_axis){2, 1, 1, 50}; assert(pressure_value(&pointer.pressure) == 0); |
