Ladybird/AppKit: Send mouse event on middle click

This commit is contained in:
Nico Weber 2024-06-27 22:51:05 +02:00 committed by Tim Flynn
parent 8859bd3b78
commit 43bef4b401

View file

@ -1404,6 +1404,35 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_
m_web_view_bridge->enqueue_input_event(move(mouse_event));
}
- (void)otherMouseDown:(NSEvent*)event
{
if (event.buttonNumber != 2)
return;
[[self window] makeFirstResponder:self];
auto mouse_event = Ladybird::ns_event_to_mouse_event(Web::MouseEvent::Type::MouseDown, event, self, [self scrollView], Web::UIEvents::MouseButton::Middle);
m_web_view_bridge->enqueue_input_event(move(mouse_event));
}
- (void)otherMouseUp:(NSEvent*)event
{
if (event.buttonNumber != 2)
return;
auto mouse_event = Ladybird::ns_event_to_mouse_event(Web::MouseEvent::Type::MouseUp, event, self, [self scrollView], Web::UIEvents::MouseButton::Middle);
m_web_view_bridge->enqueue_input_event(move(mouse_event));
}
- (void)otherMouseDragged:(NSEvent*)event
{
if (event.buttonNumber != 2)
return;
auto mouse_event = Ladybird::ns_event_to_mouse_event(Web::MouseEvent::Type::MouseMove, event, self, [self scrollView], Web::UIEvents::MouseButton::Middle);
m_web_view_bridge->enqueue_input_event(move(mouse_event));
}
- (BOOL)performKeyEquivalent:(NSEvent*)event
{
if ([event window] != [self window]) {