On Thu, Nov 5, 2015 at 8:31 PM, Peter Hutterer <[email protected]> wrote: > > This set adds support for graphics tablets to weston. It's not fully > complete, there are a couple of fixmes in it but the patchset is getting a > bit unwieldly. And there are some discussions on how to do things anyway. > > Note: This needs the tablet-support branch from libinput to work. And it is > on top of Jonas's wip/wayland-protocols github branch (ff0452cea150c). > > Tablet events are sent serially, terminated by a frame event. A toolkit > should accumulate them and then pass them on as one struct to the client. We > don't do that atm, it may be beyond libtoytoolkit's scope to really > integrate this properly. > > The tablet has a separate cursor. That's a conscious decision since the > focus handling on tablets closer to an absolute touch screen than a mouse, > but unlike touch you usually want a cursor shape to indicate the precise > position. > > The rest is fairly straightforward, though as said above, some details are > missing. Implementing this also showed that libinput needs a few extra > things added to it. > > Cheers, > Peter
Having trouble getting this patchset to work properly for me. Of the many times I've launched 'weston-tablet', only once did it work as expected. The rest of the time I get no response and more often than not a segfault when the pen leaves proximity (first backtrace). I've also seen a segfault when simply trying to exit Weston with CTRL+ALT+BACKSPACE (second backgrace). Haven't had time to track down the cause; all I know at the moment is that it seems the demo client's proximity_in_handler isn't actually being called for some reason... Program received signal SIGSEGV, Segmentation fault. 0x000000000041596f in default_grab_tablet_tool_proximity_out (grab=0x20e8388, time=23980253) at src/input.c:812 812 if (weston_surface_is_mapped(tool->sprite->surface)) (gdb) bt #0 0x000000000041596f in default_grab_tablet_tool_proximity_out (grab=0x20e8388, time=23980253) at src/input.c:812 #1 0x0000000000418ffb in notify_tablet_tool_proximity_out (tool=0x20e82d0, time=23980253) at src/input.c:2307 #2 0x00007fe3699a6ce1 in handle_tablet_proximity (libinput_device=0x1c1d7c0, proximity_event=0x20e0580) at src/libinput-device.c:320 #3 0x00007fe3699a7587 in evdev_device_process_event (event=0x20e0580) at src/libinput-device.c:543 #4 0x00007fe3699a5cf3 in process_event (event=0x20e0580) at src/libinput-seat.c:169 #5 0x00007fe3699a5d14 in process_events (input=0x1b07c88) at src/libinput-seat.c:179 #6 0x00007fe3699a5d79 in udev_input_dispatch (input=0x1b07c88) at src/libinput-seat.c:190 #7 0x00007fe3699a5da6 in libinput_source_dispatch (fd=16, mask=1, data=0x1b07c88) at src/libinput-seat.c:200 #8 0x00007fe36b3bcc72 in wl_event_loop_dispatch (loop=0x1aef220, timeout=timeout@entry=-1) at src/event-loop.c:422 #9 0x00007fe36b3bb5e5 in wl_display_run (display=0x1aef190) at src/wayland-server.c:1004 #10 0x00000000004275c6 in main (argc=1, argv=0x7ffe86bcca88) at src/main.c:871 Program received signal SIGSEGV, Segmentation fault. 0x00007f3f3e63a0e7 in wl_list_remove (elm=0x195a910) at src/wayland-util.c:57 57 elm->prev->next = elm->next; (gdb) bt #0 0x00007f3f3e63a0e7 in wl_list_remove (elm=0x195a910) at src/wayland-util.c:57 #1 0x000000000041550f in weston_tablet_destroy (tablet=0x195a8e0) at src/input.c:699 #2 0x000000000041a9df in weston_seat_release_tablet (tablet=0x195a8e0) at src/input.c:3116 #3 0x00007f3f3cc22ff3 in evdev_device_destroy (device=0x19acc80) at src/libinput-device.c:867 #4 0x00007f3f3cc20bc6 in udev_seat_remove_devices (seat=0x19a8fa0) at src/libinput-seat.c:126 #5 0x00007f3f3cc21427 in udev_seat_destroy (seat=0x19a8fa0) at src/libinput-seat.c:397 #6 0x00007f3f3cc211b0 in udev_input_destroy (input=0x1852c88) at src/libinput-seat.c:333 #7 0x00007f3f3cc1f5f7 in drm_destroy (ec=0x183bfc0) at src/compositor-drm.c:2712 #8 0x000000000041379f in weston_compositor_destroy (compositor=0x183bfc0) at src/compositor.c:4780 #9 0x00000000004275f1 in main (argc=1, argv=0x7ffdd6f32308) at src/main.c:882 Jason --- Now instead of four in the eights place / you’ve got three, ‘Cause you added one / (That is to say, eight) to the two, / But you can’t take seven from three, / So you look at the sixty-fours.... _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
