add pointer device event

Signed-off-by: dignow <linlong1265@gmail.com>
This commit is contained in:
dignow 2023-07-19 01:18:10 +08:00
parent 780cb37d46
commit c86a8fff03
9 changed files with 204 additions and 31 deletions

View file

@ -345,9 +345,20 @@ class InputModel {
// https://docs.flutter.dev/release/breaking-changes/trackpad-gestures
void onPointerPanZoomUpdate(PointerPanZoomUpdateEvent e) {
final scale = ((e.scale - _lastScale) * 100).toInt();
debugPrint(
'REMOVE ME =============================== onPointerPanZoomUpdate ${e.scale}');
final scale = ((e.scale - _lastScale) * 1000).toInt();
_lastScale = e.scale;
if (scale != 0) {
bind.sessionSendPointer(
sessionId: sessionId,
msg: json.encode({
'touch': {'scale': scale}
}));
return;
}
final delta = e.panDelta;
_trackpadLastDelta = delta;
@ -371,7 +382,7 @@ class InputModel {
if (x != 0 || y != 0) {
bind.sessionSendMouse(
sessionId: sessionId,
msg: '{"type": "trackpad", "x": "$x", "y": "$y", "scale": "$scale"}');
msg: '{"type": "trackpad", "x": "$x", "y": "$y"}');
}
}
@ -427,6 +438,12 @@ class InputModel {
}
void onPointerPanZoomEnd(PointerPanZoomEndEvent e) {
bind.sessionSendPointer(
sessionId: sessionId,
msg: json.encode({
'touch': {'scale': 0}
}));
waitLastFlingDone();
_stopFling = false;