[haiku-development] Re: Menu actions and B_MOUSE_DOWN/B_MOUSE_UP questions

  • From: Tim Kelly <gtkelly@xxxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 12 Dec 2015 11:19:09 -0500

Thank you for your feedback.

waddlesplash wrote:

IIRC, VirtualBox sends all click events as mouse-click events -- it
doesn't emulate a touchpad.

There is a setting in VB that allows multi-touch touchpads. It does work as a trackpad, not a mouse.

I have separated the LOG_ENTRY text to differentiate between mouse and
trackpad events. Almost all of my touchpad actions are being passed to
VirtualBox and showing up as B_MOUSE_DOWN/B_MOUSE_UP events in the
trackpad device. The ones that are not are legitimately discarded
mis-taps. Therefore the problem does not appear to be in the
VirtualBox->Haiku communication link, but again, I only have a sample of
one to pick from. Getting confirmation that this does or does not
happen with actual (not virtualized) installs would be helpful.

I don't have access to a machine that can boot Haiku and has a
touchpad, so I can't help you there, unfortunately. But yeah, if they
don't show up in the event log, then it's not Haiku's fault.

The B_MOUSE_DOWN/B_MOUSE_UP events appear in the Haiku trackpad driver and can be logged to syslog. This is a near 100% correlation with my taps on my touchpad. The few not registered can be legitimately considered "mis-taps." I can not say 100% of my taps are registered, but nearly so.

When a menu is dropped down,
clicking or tapping outside of the menu does not dismiss that menu. I
suspect that the BMessage was delivered to a view that was not the menu
and then skipped. I wonder, then, is it possible that taps are somehow
being delivered to either the wrong view and/or discarded somewhere?

No, if they aren't in the event log, then they aren't getting to
Haiku. This appears to be another bug in our menu system (which is
rather complex and very fragile).

The events do show up (or can be made to show up) in syslog.

I suspect this is a solvable problem, but I'd like to track it further before deciding how to proceed. That means trying to locate where the B_MOUSE_DOWN/B_MOUSE_UP event goes into the BView and filters. That's where I lose track of it in the documentation.

tim

--
You can play almost anything in between, but ultimately, you have to come back to 'The One.'

-- Bootsy Collins

Other related posts: