second touchscreen support attempt #2

This commit is contained in:
abakkk 2019-03-24 17:29:32 +01:00
parent 2d315dd65c
commit d1f0fe8e4e
1 changed files with 7 additions and 3 deletions

10
draw.js
View File

@ -140,7 +140,8 @@ var DrawingArea = new Lang.Class({
}, },
_onTouchEvent: function(actor, event) { _onTouchEvent: function(actor, event) {
if (event.type() != Clutter.EventType.TOUCH_BEGIN) if (event.type() != Clutter.EventType.TOUCH_BEGIN ||
!global.display.is_pointer_emulating_sequence(event.get_event_sequence()))
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
if (this.touchSequence || this.buttonPressed) if (this.touchSequence || this.buttonPressed)
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
@ -159,6 +160,7 @@ var DrawingArea = new Lang.Class({
}, },
_onBeginEvent: function(actor, event, button) { _onBeginEvent: function(actor, event, button) {
imports.ui.main.notify("begin");
let [x, y] = event.get_coords(); let [x, y] = event.get_coords();
let shiftPressed = event.has_shift_modifier(); let shiftPressed = event.has_shift_modifier();
@ -264,7 +266,8 @@ var DrawingArea = new Lang.Class({
} else if (this.touchSequence) { } else if (this.touchSequence) {
this.motionHandler = this.connect('touch-event', (actor, event) => { this.motionHandler = this.connect('touch-event', (actor, event) => {
if (event.type() != Clutter.EventType.TOUCH_UPDATE) if (event.type() != Clutter.EventType.TOUCH_UPDATE ||
!global.display.is_pointer_emulating_sequence(event.get_event_sequence()))
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
if (event.get_event_sequence() != this.touchSequence) if (event.get_event_sequence() != this.touchSequence)
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
@ -273,7 +276,8 @@ var DrawingArea = new Lang.Class({
}); });
this.releaseHandler = this.connect('touch-event', (actor, event) => { this.releaseHandler = this.connect('touch-event', (actor, event) => {
if (event.type() != Clutter.EventType.TOUCH_END && event.type() != Clutter.EventType.TOUCH_CANCEL) if (event.type() != Clutter.EventType.TOUCH_END ||
!global.display.is_pointer_emulating_sequence(event.get_event_sequence()))
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;
if (event.get_event_sequence() != this.touchSequence) if (event.get_event_sequence() != this.touchSequence)
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;