34 lines
1.7 KiB
Dart
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(),
|
|
};
|
|
}
|