mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-08-25 23:56:42 +00:00
* feat(terminal): add Ctrl toggle and Ctrl+X shortcut keys to mobile terminal floating keyboard Signed-off-by: dongrencd <dongrencd@users.noreply.github.com> * refactor(terminal): restructure keyboard layout with collapse button - Move | from Row1 position 3 to Row1 end (aligned with collapse button) - Remove ~ from Row2, add collapse button (∨/∧) after PgDn - Row3: conditional render, add ~ and -, remove trailing placeholders - Collapse state persisted via kOptionEnableShowTerminalCtrlKeys - Row3 defaults to collapsed for compact layout Signed-off-by: dongrencd <dongrencd@users.noreply.github.com> * fix(terminal): restore trailing placeholders in Row3 for alignment Row3 needs trailing placeholders to match Row1/Row2 width (348px) so Ctrl aligns with Tab in Row2 and Esc in Row1. Signed-off-by: dongrencd <dongrencd@users.noreply.github.com> * fix(terminal): update mobile keyboard layout per review Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com> * fix(terminal): address mobile keyboard review regressions Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com> * fix(terminal): preserve ctrl-j newline mapping on mobile Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com> * fix(terminal): preserve pasted input with modifiers Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com> * fix(terminal): harden mobile modifier and paste input Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com> * fix(terminal): harden mobile paste shortcut handling Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com> * fix(terminal): preserve unicode graphemes under ctrl * fix(terminal): avoid modifier scan for inactive locks * fix(terminal): keep default hardware paste shortcuts * fix(terminal): guard hardware paste with modifier locks * fix(terminal): update mobile key button color role --------- Signed-off-by: dongrencd <dongrencd@users.noreply.github.com> Signed-off-by: dong.ren.cd <dong.ren.cd@tcl.com> Co-authored-by: dongrencd <dongrencd@users.noreply.github.com> Co-authored-by: dong.ren.cd <dong.ren.cd@tcl.com>
41 lines
1.2 KiB
Dart
41 lines
1.2 KiB
Dart
import 'package:flutter_hbb/mobile/terminal_keyboard_utils.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
group('mobile terminal keyboard layout', () {
|
|
test('keeps the latest key order from the reviewed PR layout', () {
|
|
expect(
|
|
terminalKeyboardRow1Keys,
|
|
['Esc', '/', '|', 'Home', '↑', 'End', r'\'],
|
|
);
|
|
expect(
|
|
terminalKeyboardRow2Keys,
|
|
['Tab', 'Ctrl+C', '~', '←', '↓', '→'],
|
|
);
|
|
expect(
|
|
terminalKeyboardRow3Keys,
|
|
['Ctrl', 'Alt', '-', 'PgUp', 'PgDn'],
|
|
);
|
|
});
|
|
|
|
test('keeps two trailing Row3 placeholders for row alignment', () {
|
|
expect(terminalKeyboardRow3TrailingPlaceholderCount, 2);
|
|
});
|
|
|
|
test('keeps every expanded row aligned at 348dp', () {
|
|
final rowWidths = [
|
|
terminalKeyboardRowWidth(terminalKeyboardRow1Keys.length),
|
|
terminalKeyboardRowWidth(terminalKeyboardRow2Keys.length + 1),
|
|
terminalKeyboardRowWidth(
|
|
terminalKeyboardRow3Keys.length +
|
|
terminalKeyboardRow3TrailingPlaceholderCount,
|
|
),
|
|
];
|
|
|
|
expect(terminalKeyboardKeyWidth, 48);
|
|
expect(terminalKeyboardKeySpacing, 2);
|
|
expect(rowWidths, everyElement(348));
|
|
});
|
|
});
|
|
}
|