This commit is contained in:
Timon
2026-03-24 01:10:38 +00:00
parent 36366b34f2
commit 78f157454a
2 changed files with 12 additions and 2 deletions
+6 -2
View File
@@ -6,7 +6,7 @@ mod keymap;
use keymap::{ToCharRepresentation, ToNativeKeycode, ToVKBits}; use keymap::{ToCharRepresentation, ToNativeKeycode, ToVKBits};
mod state; mod state;
pub(crate) use state::{CefModifiers, InputState}; pub(crate) use state::{CefModifiers, ClickCount, InputState};
use super::consts::{PINCH_ZOOM_SPEED, SCROLL_LINE_HEIGHT, SCROLL_LINE_WIDTH, SCROLL_SPEED_X, SCROLL_SPEED_Y}; use super::consts::{PINCH_ZOOM_SPEED, SCROLL_LINE_HEIGHT, SCROLL_LINE_WIDTH, SCROLL_SPEED_X, SCROLL_SPEED_Y};
@@ -36,7 +36,11 @@ pub(crate) fn handle_window_event(browser: &Browser, input_state: &mut InputStat
} }
}; };
let cef_click_count = input_state.mouse_input(mouse_button, state).into(); let click_count = input_state.mouse_input(mouse_button, state);
if matches!(click_count, ClickCount::Ignore) {
return;
}
let cef_click_count = click_count.into();
let cef_mouse_up = match state { let cef_mouse_up = match state {
ElementState::Pressed => 0, ElementState::Pressed => 0,
ElementState::Released => 1, ElementState::Released => 1,
+6
View File
@@ -173,6 +173,10 @@ impl ClickTracker {
} }
} }
if matches!(state, ElementState::Released) && record.down_count != record.up_count {
return ClickCount::Ignore;
}
count count
} }
} }
@@ -183,6 +187,7 @@ pub(crate) enum ClickCount {
Single, Single,
Double, Double,
Triple, Triple,
Ignore,
} }
impl From<ClickCount> for i32 { impl From<ClickCount> for i32 {
fn from(count: ClickCount) -> i32 { fn from(count: ClickCount) -> i32 {
@@ -190,6 +195,7 @@ impl From<ClickCount> for i32 {
ClickCount::Single => 1, ClickCount::Single => 1,
ClickCount::Double => 2, ClickCount::Double => 2,
ClickCount::Triple => 3, ClickCount::Triple => 3,
ClickCount::Ignore => 0,
} }
} }
} }