36 lines
1.2 KiB
Dart
36 lines
1.2 KiB
Dart
import 'gesture_action.dart';
|
|
|
|
class GestureBindings {
|
|
final double keyboardHoldLeftSpeed;
|
|
final double keyboardHoldRightSpeed;
|
|
final GestureAction mouseLeftClickAction;
|
|
final GestureAction mouseLeftDoubleClickAction;
|
|
final GestureAction mouseRightClickAction;
|
|
final GestureAction mouseRightDoubleClickAction;
|
|
|
|
const GestureBindings({
|
|
required this.keyboardHoldLeftSpeed,
|
|
required this.keyboardHoldRightSpeed,
|
|
required this.mouseLeftClickAction,
|
|
required this.mouseLeftDoubleClickAction,
|
|
required this.mouseRightClickAction,
|
|
required this.mouseRightDoubleClickAction,
|
|
});
|
|
|
|
static const defaults = GestureBindings(
|
|
keyboardHoldLeftSpeed: 0.5,
|
|
keyboardHoldRightSpeed: 3.0,
|
|
mouseLeftClickAction: GestureAction.playPause,
|
|
mouseLeftDoubleClickAction: GestureAction.fullscreen,
|
|
mouseRightClickAction: GestureAction.toggleControls,
|
|
mouseRightDoubleClickAction: GestureAction.none,
|
|
);
|
|
|
|
GestureAction actionFor(GestureKind kind) => switch (kind) {
|
|
GestureKind.leftClick => mouseLeftClickAction,
|
|
GestureKind.leftDoubleClick => mouseLeftDoubleClickAction,
|
|
GestureKind.rightClick => mouseRightClickAction,
|
|
GestureKind.rightDoubleClick => mouseRightDoubleClickAction,
|
|
};
|
|
}
|