diff --git a/dash-frontend/assets/lang/en.json b/dash-frontend/assets/lang/en.json index c7b4f8ea..2fd78c5e 100644 --- a/dash-frontend/assets/lang/en.json +++ b/dash-frontend/assets/lang/en.json @@ -63,6 +63,8 @@ "KEYBOARD_MIDDLE_CLICK": "Keyboard middle click", "KEYBOARD_MIDDLE_CLICK_HELP": "Modifier to use when typing\nwith purple laser", "KEYBOARD_SOUND_ENABLED": "Keyboard sounds", + "KEYBOARD_SWIPE_TO_TYPE_ENABLED": "Keyboard swipe to type", + "KEYBOARD_SWIPE_TO_TYPE_ENABLED_HELP": "Only works for English! Results will be drastically worse on non qwerty keyboards.", "LANGUAGE": "Language", "LEFT_HANDED_MOUSE": "Left-handed mouse", "LEFT_HANDED_MOUSE_HELP": "Use this if mouse buttons are swapped", diff --git a/dash-frontend/src/tab/settings.rs b/dash-frontend/src/tab/settings.rs index 32a1a2c4..89db8222 100644 --- a/dash-frontend/src/tab/settings.rs +++ b/dash-frontend/src/tab/settings.rs @@ -228,6 +228,7 @@ enum SettingType { InvertScrollDirectionY, KeyboardMiddleClick, KeyboardSoundEnabled, + KeyboardSwipeToTypeEnabled, Language, LeftHandedMouse, LongPressDuration, @@ -280,6 +281,7 @@ impl SettingType { Self::HideUsername => &mut config.hide_username, Self::OpaqueBackground => &mut config.opaque_background, Self::XwaylandByDefault => &mut config.xwayland_by_default, + Self::KeyboardSwipeToTypeEnabled => &mut config.keyboard_swipe_to_type_enabled, _ => panic!("Requested bool for non-bool SettingType"), } } @@ -378,6 +380,7 @@ impl SettingType { Self::InvertScrollDirectionY => Ok("APP_SETTINGS.INVERT_SCROLL_DIRECTION_Y"), Self::KeyboardMiddleClick => Ok("APP_SETTINGS.KEYBOARD_MIDDLE_CLICK"), Self::KeyboardSoundEnabled => Ok("APP_SETTINGS.KEYBOARD_SOUND_ENABLED"), + Self::KeyboardSwipeToTypeEnabled => Ok("APP_SETTINGS.KEYBOARD_SWIPE_TO_TYPE_ENABLED"), Self::Language => Ok("APP_SETTINGS.LANGUAGE"), Self::LeftHandedMouse => Ok("APP_SETTINGS.LEFT_HANDED_MOUSE"), Self::LongPressDuration => Ok("APP_SETTINGS.LONG_PRESS_DURATION"), @@ -414,6 +417,7 @@ impl SettingType { Self::GridOpacity => Some("APP_SETTINGS.GRID_OPACITY_HELP"), Self::HandsfreePointer => Some("APP_SETTINGS.HANDSFREE_POINTER_HELP"), Self::KeyboardMiddleClick => Some("APP_SETTINGS.KEYBOARD_MIDDLE_CLICK_HELP"), + Self::KeyboardSwipeToTypeEnabled => Some("APP_SETTINGS.KEYBOARD_SWIPE_TO_TYPE_ENABLED_HELP"), Self::LeftHandedMouse => Some("APP_SETTINGS.LEFT_HANDED_MOUSE_HELP"), Self::ScreenRenderDown => Some("APP_SETTINGS.SCREEN_RENDER_DOWN_HELP"), Self::UprightScreenFix => Some("APP_SETTINGS.UPRIGHT_SCREEN_FIX_HELP"), @@ -809,6 +813,7 @@ impl TabSettings { checkbox!(mp, c, SettingType::NotificationsEnabled); checkbox!(mp, c, SettingType::NotificationsSoundEnabled); checkbox!(mp, c, SettingType::KeyboardSoundEnabled); + checkbox!(mp, c, SettingType::KeyboardSwipeToTypeEnabled); checkbox!(mp, c, SettingType::SpaceDragUnlocked); checkbox!(mp, c, SettingType::SpaceRotateUnlocked); slider_f32!(mp, c, SettingType::SpaceDragMultiplier, -10.0, 10.0, 0.5); diff --git a/wayvr/src/assets/gui/keyboard.xml b/wayvr/src/assets/gui/keyboard.xml index ceea4027..ca94b8aa 100644 --- a/wayvr/src/assets/gui/keyboard.xml +++ b/wayvr/src/assets/gui/keyboard.xml @@ -243,10 +243,10 @@ -
+
-
+
diff --git a/wayvr/src/overlays/keyboard/builder.rs b/wayvr/src/overlays/keyboard/builder.rs index 87e41a4f..d924cd07 100644 --- a/wayvr/src/overlays/keyboard/builder.rs +++ b/wayvr/src/overlays/keyboard/builder.rs @@ -477,7 +477,7 @@ pub(super) fn create_keyboard_panel( elems_changed = true; } } - if !app.session.config.swipe_to_type_enabled { + if !app.session.config.keyboard_swipe_to_type_enabled { panel.state.swipe_typing_manager = None; panel.state.swipe_candidate_receiver = None; @@ -495,7 +495,7 @@ pub(super) fn create_keyboard_panel( } } - if app.session.config.swipe_to_type_enabled && panel.state.swipe_typing_manager.is_none() { + if app.session.config.keyboard_swipe_to_type_enabled && panel.state.swipe_typing_manager.is_none() { init_swipe_type_manager(&mut panel.state); let predictions_root = panel.parser_state diff --git a/wlx-common/src/config.rs b/wlx-common/src/config.rs index c578ef18..c375b310 100644 --- a/wlx-common/src/config.rs +++ b/wlx-common/src/config.rs @@ -329,5 +329,5 @@ pub struct GeneralConfig { pub grid_opacity: f32, #[serde(default = "def_true")] - pub swipe_to_type_enabled: bool, + pub keyboard_swipe_to_type_enabled: bool, }