Re: Names of mouse events?
toggle quoted messageShow quoted text
Can you give us more details on how the selection model and a11y tree appear in the app you're modding? A few things that'll be useful:
mousehandler.py: The mouse handling code, which tracks the mouse.
eventHandler.py: The event tracking and pumping logic.
This is a bit gnarly, so basically, each event, besides the NVDAObject level, receives a next function, conventionally called nextHandler, that dispatches the event to the next part of the system. This way, anything in NVDA can ask to be notified about an event by declaring a method called event_<eventname> taking a self, obj, and nextHandler argument. It can drop the event chain on the floor stopping execution, by ignoring the nextHandler argument, or it can continue the chain of event propagation by calling nextHandler with no arguments. This is why there are no lists of possible events, the function to call is derived on the fly from the event name. When trying to fix mouse handling, you'll want to know about something called hit-testing, which is just fancy language that means given an x,y coordinate on screen, what element is at that coordinate. UIA and IAccessible both can do this, and the LocationHelper classes and TextInfo/obj.location properties will probably help you. I don't know how to help you further at this time, because it depends on how you have things set up.
On Wed, Oct 16, 2019 at 10:56 PM Karl-Otto Rosenqvist <Karl-otto@...> wrote:
Improving the world one byte at a time! ⠠⠊⠍⠏⠗⠕⠧⠬ ⠮ ⠸⠺ ⠐⠕ ⠃⠽⠞⠑ ⠁⠞ ⠁ ⠐⠞⠖
• Accessibility enthusiast.
• Proud user of the NVDA screen reader.
• Open source enthusiast.
• Personal website: https://derekriemer.com