aves/lib/widgets/viewer/controls/shortcuts.dart
2023-03-10 18:27:06 +01:00

34 lines
1.7 KiB
Dart

import 'package:aves/model/actions/entry_actions.dart';
import 'package:aves/widgets/viewer/controls/intents.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
class ViewerShortcuts {
static const entryActions = {
SingleActivator(LogicalKeyboardKey.delete): EntryActionIntent(action: EntryAction.delete),
};
// cf https://developer.android.com/training/tv/start/controllers#media-events
static const media = {
// KEYCODE_MEDIA_PLAY_PAUSE / 85 / play/pause
SingleActivator(LogicalKeyboardKey.mediaPlayPause): PlayPauseIntent.toggle(),
// KEYCODE_MEDIA_STOP / 86 / stop
SingleActivator(LogicalKeyboardKey.mediaStop): PlayPauseIntent.pause(),
// KEYCODE_MEDIA_NEXT / 87 / skip to next
SingleActivator(LogicalKeyboardKey.mediaTrackNext): ShowNextIntent(),
// KEYCODE_MEDIA_PREVIOUS / 88 / skip to previous
SingleActivator(LogicalKeyboardKey.mediaTrackPrevious): ShowPreviousIntent(),
// KEYCODE_MEDIA_PLAY / 126 / play
SingleActivator(LogicalKeyboardKey.mediaPlay): PlayPauseIntent.play(),
// KEYCODE_MEDIA_PAUSE / 127 / pause
SingleActivator(LogicalKeyboardKey.mediaPause): PlayPauseIntent.pause(),
// KEYCODE_BUTTON_L1 / 102 / skip to previous
SingleActivator(LogicalKeyboardKey.gameButtonLeft1): ShowPreviousIntent(),
// KEYCODE_BUTTON_R1 / 103 / skip to next
SingleActivator(LogicalKeyboardKey.gameButtonRight1): ShowNextIntent(),
// KEYCODE_BUTTON_START / 108 / pause
SingleActivator(LogicalKeyboardKey.gameButtonStart): PlayPauseIntent.pause(),
// KEYCODE_BUTTON_SELECT / 109 / play/pause
SingleActivator(LogicalKeyboardKey.gameButtonSelect): PlayPauseIntent.toggle(),
};
}