add trackpad speed factor
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
ebbf2f2bba
commit
c19e46acdd
@ -45,7 +45,10 @@ class InputModel {
|
|||||||
var command = false;
|
var command = false;
|
||||||
|
|
||||||
// trackpad
|
// trackpad
|
||||||
|
final _trackpadSpeed = 0.01;
|
||||||
var trackpadScrollDistance = Offset.zero;
|
var trackpadScrollDistance = Offset.zero;
|
||||||
|
var _trackpadScrollUnsent = Offset.zero;
|
||||||
|
var _newScroll = true;
|
||||||
Timer? _flingTimer;
|
Timer? _flingTimer;
|
||||||
|
|
||||||
// mouse
|
// mouse
|
||||||
@ -331,10 +334,22 @@ class InputModel {
|
|||||||
void onPointerPanZoomUpdate(PointerPanZoomUpdateEvent e) {
|
void onPointerPanZoomUpdate(PointerPanZoomUpdateEvent e) {
|
||||||
var delta = e.panDelta;
|
var delta = e.panDelta;
|
||||||
trackpadScrollDistance += delta;
|
trackpadScrollDistance += delta;
|
||||||
bind.sessionSendMouse(
|
_trackpadScrollUnsent += (delta * _trackpadSpeed);
|
||||||
id: id,
|
final x = _trackpadScrollUnsent.dx.truncate();
|
||||||
msg:
|
final y = _trackpadScrollUnsent.dy.truncate();
|
||||||
'{"type": "trackpad", "x": "${delta.dx.toInt()}", "y": "${delta.dy.toInt()}"}');
|
_trackpadScrollUnsent -= Offset(_trackpadScrollUnsent.dx - x.toDouble(),
|
||||||
|
_trackpadScrollUnsent.dy - y.toDouble());
|
||||||
|
|
||||||
|
var sendMsg = x != 0 || y != 0;
|
||||||
|
if (_newScroll) {
|
||||||
|
sendMsg = true;
|
||||||
|
_newScroll = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sendMsg) {
|
||||||
|
bind.sessionSendMouse(
|
||||||
|
id: id, msg: '{"type": "trackpad", "x": "$x", "y": "$y"}');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simple simulation for fling.
|
// Simple simulation for fling.
|
||||||
@ -358,6 +373,8 @@ class InputModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void onPointerPanZoomEnd(PointerPanZoomEndEvent e) {
|
void onPointerPanZoomEnd(PointerPanZoomEndEvent e) {
|
||||||
|
_newScroll = true;
|
||||||
|
_trackpadScrollUnsent = Offset.zero;
|
||||||
var x = _signOrZero(trackpadScrollDistance.dx);
|
var x = _signOrZero(trackpadScrollDistance.dx);
|
||||||
var y = _signOrZero(trackpadScrollDistance.dy);
|
var y = _signOrZero(trackpadScrollDistance.dy);
|
||||||
var dx = trackpadScrollDistance.dx.abs() ~/ 40;
|
var dx = trackpadScrollDistance.dx.abs() ~/ 40;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user