From 11df0076cb3fc66ab36f3e3f4d45905640cc475b Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Mon, 31 May 2021 10:59:52 +0200 Subject: [PATCH] fix: Disable shortcuts for android and iOS --- lib/widgets/input_bar.dart | 59 ++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/lib/widgets/input_bar.dart b/lib/widgets/input_bar.dart index b4c0796e..50205953 100644 --- a/lib/widgets/input_bar.dart +++ b/lib/widgets/input_bar.dart @@ -265,36 +265,39 @@ class InputBar extends StatelessWidget { @override Widget build(BuildContext context) { + final useShortCuts = (PlatformInfos.isWeb || PlatformInfos.isDesktop); return Shortcuts( - shortcuts: { - LogicalKeySet(LogicalKeyboardKey.shift, LogicalKeyboardKey.enter): - NewLineIntent(), - LogicalKeySet(LogicalKeyboardKey.enter): SubmitLineIntent(), - }, + shortcuts: !useShortCuts + ? {} + : { + LogicalKeySet(LogicalKeyboardKey.shift, LogicalKeyboardKey.enter): + NewLineIntent(), + LogicalKeySet(LogicalKeyboardKey.enter): SubmitLineIntent(), + }, child: Actions( - actions: { - NewLineIntent: CallbackAction(onInvoke: (i) { - final val = controller.value; - final selection = val.selection.start; - final messageWithoutNewLine = - controller.text.substring(0, val.selection.start) + - '\n' + - controller.text.substring(val.selection.start); - controller.value = TextEditingValue( - text: messageWithoutNewLine, - selection: TextSelection.fromPosition( - TextPosition(offset: selection + 1), - ), - ); - return null; - }), - SubmitLineIntent: CallbackAction(onInvoke: (i) { - if (PlatformInfos.isWeb || PlatformInfos.isDesktop) { - onSubmitted(controller.text); - } - return null; - }), - }, + actions: !useShortCuts + ? {} + : { + NewLineIntent: CallbackAction(onInvoke: (i) { + final val = controller.value; + final selection = val.selection.start; + final messageWithoutNewLine = + controller.text.substring(0, val.selection.start) + + '\n' + + controller.text.substring(val.selection.start); + controller.value = TextEditingValue( + text: messageWithoutNewLine, + selection: TextSelection.fromPosition( + TextPosition(offset: selection + 1), + ), + ); + return null; + }), + SubmitLineIntent: CallbackAction(onInvoke: (i) { + onSubmitted(controller.text); + return null; + }), + }, child: TypeAheadField>( direction: AxisDirection.up, hideOnEmpty: true,