Skip to content

Commit c7ba8be

Browse files
author
stalin
committed
add oTextEdit back
1 parent 7fc229f commit c7ba8be

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

lib/frontend/input_behavior_mobile.dart

+23-2
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,36 @@
11
import 'package:flutter/services.dart';
2+
import 'package:flutter/widgets.dart';
23
import 'package:xterm/frontend/input_behavior_default.dart';
34
import 'package:xterm/input/keys.dart';
45
import 'package:xterm/xterm.dart';
56

67
class InputBehaviorMobile extends InputBehaviorDefault {
78
InputBehaviorMobile();
89

9-
@override
1010
final acceptKeyStroke = true;
1111

12-
@override
12+
final initEditingState = const TextEditingValue(
13+
text: ' ',
14+
selection: TextSelection.collapsed(offset: 1),
15+
);
16+
17+
TextEditingValue onTextEdit(
18+
TextEditingValue value, TerminalUiInteraction terminal) {
19+
if (value.text.length > initEditingState.text.length) {
20+
terminal.raiseOnInput(value.text.substring(1, value.text.length - 1));
21+
} else if (value.text.length < initEditingState.text.length) {
22+
terminal.keyInput(TerminalKey.backspace);
23+
} else {
24+
if (value.selection.baseOffset < 1) {
25+
terminal.keyInput(TerminalKey.arrowLeft);
26+
} else if (value.selection.baseOffset > 1) {
27+
terminal.keyInput(TerminalKey.arrowRight);
28+
}
29+
}
30+
31+
return initEditingState;
32+
}
33+
1334
void onAction(TextInputAction action, TerminalUiInteraction terminal) {
1435
print('action $action');
1536
switch (action) {

0 commit comments

Comments
 (0)