Just to comment: the key problem here is that GTK+ does not recalibrate input devices when the display is reconfigured while the application is running. Hence the code that converts XInput device events to GDK events does not work properly after a display rotation (or other reconfiguration that modifies the size/position of the tablet screen).

Xournal bypasses part of the GTK+ event conversion, and assumes instead that, when the screen size changes, (1) the upper-left screen corner remains in the same location in device space coordinates, and (2) the device resolution (ratio between device units and screen pixels) remains constant.

Unfortunately, assumption (1) fails in two main cases:
- when reconfiguring to attach/detach an external screen to the left or above the tablet screen, and - when the tablet's native coordinate space is inverted along the Y axis (so that it's the lower-left screen corner that remains in the same location, instead of the upper-left corner).

From what I understand, the Wacom digitizer in some HP tablets has its Y axis reversed from usual, which leads to the issue.

There is simply no good solution for the time being, because Xournal gets all its information from GTK+ (it doesn't speak directly to the X server), and GTK+ is simply blind to screen reconfigurations. In the future, hopefully either GTK+ will become RandR-aware, or I'll find time to figure out how to make Xournal talk directly to the X server when it comes to XInput event processing (unfortunately this will most likely require a fairly complicated and pretty dirty hack around GTK+, so it will take a while).

Denis




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to