[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] gemlib: change some AES constant names



Hello,

OK - and what happens if I have a mouse with two scroll wheels for
vertical and horizontal scrolling?

Already managed by XaAES.

the WM_ARROWED message contains as sub-opcode either WA_UPLINE, WA_DNLINE, WA_LFLINE, or WA_RTLINE depending on the ID of the wheel, and the orientation of the rotation.

For WM_WHEEL message, that message contains also informations about the wheel (id of the wheel, orientation of the scroll...)

once more, all the details are in freemint/xaaes/src.km/newcalls.txt

There is no buffering of events that happen outside of evnt_multi?
Evnt_multi() and evnt_button() both return the number of times the
button was pressed, so I assumed the AES would simply buffer the clicks.

In don't think so (and i hope AES doesn't work that way).

For sure, some event are buffered (messages, keyboards)

For sure, some event are not buffered, and the AES doesn't return the event that occured before calling evnt_mutli(). That is for MU_M1, MU_M2 (mouse pointer in/out of an area), MU_TIMER... and MU_BUTTON.

The type of AES event that may suit for mouse wheel event is keyboard event... or message event, it's definitively not the mouse button event.

The only common point between mouse button and mouse wheel is that all these sensors (buttons, wheels) are physically located on the same object : the mouse, but this is not a good reason to manage mouse wheel like mouse buttons.

Speaking of graphics tablet, is there another extension for mouse
"pressure" and "device"?

AFAIK, such extension doesn't exist in the AES API. Maybe some applications can manage tablet via a direct acces to the device ???

Maybe we should add a new API between AES and applications (functions to get extended informations about the state of the pointer) for applications that want to use these extended informations (number of the pencil, pressure...), and the AES should be able to use that particular device (screen_touch.adi, tablet.adi) to build standard mouse events (button, cursor position), and extended information (provided to the application using a new API to be defined).

Just my 2 cents...

best regards,
Arnaud.