fix: web v2, keyboard mode (#9180)

Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
fufesou 2024-08-27 00:00:33 +08:00 committed by GitHub
parent 690a2c8399
commit c68ce7dd84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 4 deletions

View File

@ -1612,7 +1612,9 @@ class _KeyboardMenu extends StatelessWidget {
// If use flutter to grab keys, we can only use one mode. // If use flutter to grab keys, we can only use one mode.
// Map mode and Legacy mode, at least one of them is supported. // Map mode and Legacy mode, at least one of them is supported.
String? modeOnly; String? modeOnly;
if (isInputSourceFlutter) { // Keep both map and legacy mode on web at the moment.
// TODO: Remove legacy mode after web supports translate mode on web.
if (isInputSourceFlutter && isDesktop) {
if (bind.sessionIsKeyboardModeSupported( if (bind.sessionIsKeyboardModeSupported(
sessionId: ffi.sessionId, mode: kKeyMapMode)) { sessionId: ffi.sessionId, mode: kKeyMapMode)) {
modeOnly = kKeyMapMode; modeOnly = kKeyMapMode;

View File

@ -508,7 +508,7 @@ class InputModel {
} }
// * Currently mobile does not enable map mode // * Currently mobile does not enable map mode
if ((isDesktop || isWebDesktop) && keyboardMode == 'map') { if ((isDesktop || isWebDesktop) && keyboardMode == kKeyMapMode) {
mapKeyboardModeRaw(e); mapKeyboardModeRaw(e);
} else { } else {
legacyKeyboardModeRaw(e); legacyKeyboardModeRaw(e);
@ -537,7 +537,7 @@ class InputModel {
} }
// * Currently mobile does not enable map mode // * Currently mobile does not enable map mode
if ((isDesktop || isWebDesktop)) { if ((isDesktop || isWebDesktop) && keyboardMode == kKeyMapMode) {
// FIXME: e.character is wrong for dead keys, eg: ^ in de // FIXME: e.character is wrong for dead keys, eg: ^ in de
newKeyboardMode( newKeyboardMode(
e.character ?? '', e.character ?? '',

View File

@ -351,7 +351,7 @@ class RustdeskImpl {
bool sessionIsKeyboardModeSupported( bool sessionIsKeyboardModeSupported(
{required UuidValue sessionId, required String mode, dynamic hint}) { {required UuidValue sessionId, required String mode, dynamic hint}) {
return mode == kKeyLegacyMode; return [kKeyLegacyMode, kKeyMapMode].contains(mode);
} }
bool sessionIsMultiUiSession({required UuidValue sessionId, dynamic hint}) { bool sessionIsMultiUiSession({required UuidValue sessionId, dynamic hint}) {