From e67b573611bef64a1cae30f0e1923dff15594cb4 Mon Sep 17 00:00:00 2001 From: Romain Pokrzywka Date: Fri, 12 Jul 2019 11:23:20 -0500 Subject: Pass an accurate touchpoint ToolType to Chromium QTouchEvent::TouchPoint's flags() specifies the tool type (pen, finger) for the touchpoint, so we can forward that information to Chromium. This allows proper touch handling in web pages that depend on the touch type property detect finger/pen touches. Change-Id: Ib6069a057249ef2776a6b315bc71c75d14c9b673 Reviewed-by: Allan Sandfeld Jensen --- src/core/render_widget_host_view_qt.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/core/render_widget_host_view_qt.cpp') diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 994e3a3d6..4407e706e 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -237,7 +237,10 @@ public: float GetHistoricalTouchMajor(size_t pointer_index, size_t historical_index) const override { return 0; } float GetHistoricalX(size_t pointer_index, size_t historical_index) const override { return 0; } float GetHistoricalY(size_t pointer_index, size_t historical_index) const override { return 0; } - ToolType GetToolType(size_t pointer_index) const override { return ui::MotionEvent::ToolType::FINGER; } + ToolType GetToolType(size_t pointer_index) const override { + return (touchPoints.at(pointer_index).flags() & QTouchEvent::TouchPoint::InfoFlag::Pen) ? ui::MotionEvent::ToolType::STYLUS + : ui::MotionEvent::ToolType::FINGER; + } int GetButtonState() const override { return 0; } private: -- cgit v1.2.3