From: Oscar B. <ob...@bi...> - 2005-08-11 17:59:23
|
Anyone knows how to trace all tk events? I'm trying to find which event (if any) Tk gets when I do the 2-finger scrolling thing with the PowerBook's touch pad (or the Mighty Mouse's scroll wheel). It's not a MouseWheel event, so I'm guessing it must be some sort of gesture. I want to see if there's a way to handle it in Tk... Thanks, -Oscar -- pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 |
From: Oscar B. <ob...@bi...> - 2005-08-11 18:21:11
|
Hmm. There's something weird with event handling on Mac OS X. I enabled event tracing at the OS level (export EventDebug=1) and I'm seeing kEventMouseWheelMoved events when I move the mouse wheel. However, all of them are NOT handled by Tk (even though I'm seeing code in macosx/tkMacOSXMouseEvent.c that supposedly handles them). This also happens to with the kEventWindowBoundsChanged event I mentioned in another post. See http://sourceforge.net/mailarchive/ forum.php?thread_id=7835790&forum_id=3853 Anyone has any ideas? Thanks, -Oscar On Aug 11, 2005, at 10:59 AM, Oscar Bonilla wrote: > Anyone knows how to trace all tk events? I'm trying to find which > event (if any) Tk gets when I do the 2-finger scrolling thing with > the PowerBook's touch pad (or the Mighty Mouse's scroll wheel). > It's not a MouseWheel event, so I'm guessing it must be some sort > of gesture. I want to see if there's a way to handle it in Tk... > > Thanks, > > -Oscar > > -- > pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 > > > > ------------------------------------------------------- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > Practices > Agile & Plan-Driven Development * Managing Projects & Teams * > Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/ > bsce5sf > _______________________________________________ > Tcl-mac mailing list > Tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > -- pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 |
From: Oscar B. <ob...@bi...> - 2005-08-25 21:38:11
|
It seems the Mighty Mouse mousewheel is event #11. With the attached patch, I get the events, but now when I move the Mouse Wheel I get: Failed to retrieve mouse wheel delta, -9870 Failed to retrieve mouse wheel delta, -9870 Failed to retrieve mouse wheel delta, -9870 Failed to retrieve mouse wheel delta, -9870 Failed to retrieve mouse wheel delta, -9870 Failed to retrieve mouse wheel delta, -9870 ===== tkMacOSXMouseEvent.c 1.5 vs edited ===== --- 1.5/macosx/tkMacOSXMouseEvent.c 2003-02-19 14:20:56 -08:00 +++ edited/tkMacOSXMouseEvent.c 2005-08-25 14:21:40 -07:00 @@ -124,6 +124,7 @@ case kEventMouseMoved: case kEventMouseDragged: case kEventMouseWheelMoved: + case 11: break; default: return 0; @@ -192,7 +193,8 @@ return TkGenerateButtonEvent(where.h, where.v, window, medPtr->state); } - if (eventPtr->eKind == kEventMouseWheelMoved) { + if (eventPtr->eKind == kEventMouseWheelMoved || + eventPtr->eKind == 11) { if ((status=GetEventParameter(eventPtr->eventRef, kEventParamMouseWheelDelta, typeLongInteger, NULL, @@ -226,7 +228,8 @@ */ SetPortWindowPort(medPtr->whichWin); GlobalToLocal(&medPtr->local); - if (eventPtr->eKind == kEventMouseWheelMoved ) { + if (eventPtr->eKind == kEventMouseWheelMoved || + eventPtr->eKind == 11) { return GenerateMouseWheelEvent(medPtr); } else { return GeneratePollingEvents(medPtr); On /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ HIToolbox.framework/Versions/A/Headers/CarbonEvents.h kEventClassMouse quick reference: kEventMouseDown = 1, kEventMouseUp = 2, kEventMouseMoved = 5, kEventMouseDragged = 6, kEventMouseEntered = 8, kEventMouseExited = 9, kEventMouseWheelMoved = 10 So it seems the Mighty Mouse mouse wheel is not yet documented... Anyone cares? I should probably stop posting to this list... On Aug 11, 2005, at 11:21 AM, Oscar Bonilla wrote: > Hmm. There's something weird with event handling on Mac OS X. > > I enabled event tracing at the OS level (export EventDebug=1) and > I'm seeing kEventMouseWheelMoved events when I move the mouse > wheel. However, all of them are NOT handled by Tk (even though I'm > seeing code in macosx/tkMacOSXMouseEvent.c that supposedly handles > them). > > This also happens to with the kEventWindowBoundsChanged event I > mentioned in another post. See http://sourceforge.net/mailarchive/ > forum.php?thread_id=7835790&forum_id=3853 > > Anyone has any ideas? > > Thanks, > > -Oscar > > On Aug 11, 2005, at 10:59 AM, Oscar Bonilla wrote: > > >> Anyone knows how to trace all tk events? I'm trying to find which >> event (if any) Tk gets when I do the 2-finger scrolling thing with >> the PowerBook's touch pad (or the Mighty Mouse's scroll wheel). >> It's not a MouseWheel event, so I'm guessing it must be some sort >> of gesture. I want to see if there's a way to handle it in Tk... >> >> Thanks, >> >> -Oscar >> >> -- >> pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 >> >> >> >> ------------------------------------------------------- >> SF.Net email is Sponsored by the Better Software Conference & EXPO >> September 19-22, 2005 * San Francisco, CA * Development Lifecycle >> Practices >> Agile & Plan-Driven Development * Managing Projects & Teams * >> Testing & QA >> Security * Process Improvement & Measurement * http://www.sqe.com/ >> bsce5sf >> _______________________________________________ >> Tcl-mac mailing list >> Tc...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-mac >> >> > > -- > pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 > > > > ------------------------------------------------------- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > Practices > Agile & Plan-Driven Development * Managing Projects & Teams * > Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/ > bsce5sf > _______________________________________________ > Tcl-mac mailing list > Tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > -- pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 |
From: Tim J. <tj...@to...> - 2005-08-25 22:30:41
|
On Aug 25, 2005, at 2:38 PM, Oscar Bonilla wrote: [snip] > So it seems the Mighty Mouse mouse wheel is not yet documented... > > Anyone cares? I should probably stop posting to this list... Hi Oscar, Some of care very much as we just got our first "Mighty Mouse" :). However, the jury's still out around here as to whether it's really better than a standard Logitech Wheel Mouse... Tim -- Tim Jones tj...@to... |
From: Revar D. <rev...@gm...> - 2005-08-26 18:35:22
|
This does actually bring up another issue... The horizontal scroll- ability of the MightyMouse's scroll ball suggests that we need an extension for the <MouseWheel> binding, to get the horizontal component, as well as the vertical. Perhaps %D for the vertical, like we have now, and %V for the vertical? Or did someone already make something like this and I just haven't been paying attention? - Revar On Aug 25, 2005, at 3:30 PM, Tim Jones wrote: > On Aug 25, 2005, at 2:38 PM, Oscar Bonilla wrote: > > [snip] > > >> So it seems the Mighty Mouse mouse wheel is not yet documented... >> >> Anyone cares? I should probably stop posting to this list... >> > > Hi Oscar, > > Some of care very much as we just got our first "Mighty Mouse" :). > > However, the jury's still out around here as to whether it's really > better than a standard Logitech Wheel Mouse... > > Tim > -- > Tim Jones tj...@to... > > > > ------------------------------------------------------- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > Practices > Agile & Plan-Driven Development * Managing Projects & Teams * > Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/ > bsce5sf > _______________________________________________ > Tcl-mac mailing list > Tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > |
From: Jeff H. <jeffh@ActiveState.com> - 2005-08-26 18:42:41
|
> >> So it seems the Mighty Mouse mouse wheel is not yet documented... Yes, I would like to understand why it isn't following the usual MouseWheel bindings. > This does actually bring up another issue... The horizontal scroll- > ability of the MightyMouse's scroll ball suggests that we need an > extension for the <MouseWheel> binding, to get the horizontal > component, as well as the vertical. Perhaps %D for the vertical, > like we have now, and %V for the vertical? Or did someone already > make something like this and I just haven't been paying attention? This does not yet exist, but it is a good idea. Also note that there are horizontal scrolling mousewheels in the Windows world (horrible things, IMO, but they exist), so a general solution is needed. Jeff |
From: Tim J. <tj...@to...> - 2005-08-26 19:05:44
|
On Aug 26, 2005, at 11:42 AM, Jeff Hobbs wrote: > This does not yet exist, but it is a good idea. Also note > that there are horizontal scrolling mousewheels in the > Windows world (horrible things, IMO, but they exist), so a > general solution is needed. How about using <Shift-MouseWheel> as other Mac environments currently use for horizontal scrolling? <MouseWheel> moves vertically <Shift-MouseWheel> moves horizontally Then, you could map the MM'S scrollbutton events to those. Tim -- Tim Jones tj...@to... |
From: Oscar B. <ob...@bi...> - 2005-08-26 19:13:49
|
I think what Jeff is talking about is that the event <MouseWheel> needs to be able to return information about both vertical and horizontal scrolling. Currently, <MouseWheel> events only return a %D (delta) value that is assumed to be vertical. We need new values, like %D for vertical (as it is now) and %H for the horizontal. Revar meant to suggest this, but made a small mistake and said "Perhaps %D for the vertical, like we have now, and %V for the vertical?", which is not what he meant. (See how good I am at reading people's minds :-) On Aug 26, 2005, at 12:05 PM, Tim Jones wrote: > On Aug 26, 2005, at 11:42 AM, Jeff Hobbs wrote: > > >> This does not yet exist, but it is a good idea. Also note >> that there are horizontal scrolling mousewheels in the >> Windows world (horrible things, IMO, but they exist), so a >> general solution is needed. >> > > How about using <Shift-MouseWheel> as other Mac environments > currently use for horizontal scrolling? > > <MouseWheel> moves vertically > <Shift-MouseWheel> moves horizontally > > Then, you could map the MM'S scrollbutton events to those. > > Tim > -- > Tim Jones tj...@to... > > > > ------------------------------------------------------- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > Practices > Agile & Plan-Driven Development * Managing Projects & Teams * > Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/ > bsce5sf > _______________________________________________ > Tcl-mac mailing list > Tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > -- pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 |
From: Daniel A. S. <st...@ic...> - 2005-08-27 05:10:23
|
On 27/08/2005, at 5:13, Oscar Bonilla wrote: > I think what Jeff is talking about is that the event <MouseWheel> > needs to be able to return information about both vertical and > horizontal scrolling. the HIToolbox autoconversion of the new mighty mouse scroll events to MouseWheel events takes care of converting vertical movement to MouseWheel and horizontal movement to Shift-MouseWheel, this is why existing apps that observe the platform convention of Shift-MouseWheel for horizontal scrolling work with the mighty mouse transparently... this will also work for tkaqua, and indeed on core-8-4-branch we already have Shift-MouseWheel bindings on the text listbox and scrollbar widgets for horiz scrolling (these should be ported forward to HEAD BTW). Or we could handle the new event ourselves and retrieve horizontal scrolling info like you propose, but that will require tk script authors to adapt their scripts to support horiz. scrolling even if they already have bindings for Shift-MouseWheel. Cheers, Daniel -- ** Daniel A. Steffen ** "And now for something completely ** Dept. of Mathematics ** different" Monty Python ** Macquarie University ** <mailto:st...@ma...> ** NSW 2109 Australia ** <http://www.maths.mq.edu.au/~steffen/> |
From: Revar D. <rev...@gm...> - 2005-08-28 20:42:03
|
On Aug 26, 2005, at 10:10 PM, Daniel A. Steffen wrote: > > the HIToolbox autoconversion of the new mighty mouse scroll events > to MouseWheel events takes care of converting vertical movement to > MouseWheel and horizontal movement to Shift-MouseWheel, this is why > existing apps that observe the platform convention of Shift- > MouseWheel for horizontal scrolling work with the mighty mouse > transparently... > > Or we could handle the new event ourselves and retrieve horizontal > scrolling info like you propose, but that will require tk script > authors to adapt their scripts to support horiz. scrolling even if > they already have bindings for Shift-MouseWheel. I didn't know about Shift-MouseWheel. Interesting. But does Windows use Shift-MouseWheel as well for it's normal apps? We do want to keep cross platform consistent after all. I just noticed, BTW, that the two-finger-drag scrolling on the newer PowerBooks also doesn't cause MouseWheel events in Tk. (And they also should do two-axis scrolling.) - Revar |
From: Oscar B. <ob...@bi...> - 2005-08-28 21:11:07
|
On Aug 28, 2005, at 1:41 PM, Revar Desmera wrote: > I just noticed, BTW, that the two-finger-drag scrolling on the > newer PowerBooks also doesn't cause MouseWheel events in Tk. (And > they also should do two-axis scrolling.) They are handled like the mouse wheel of the Mighty Mouse (event 11). That's how I started tracking this, because I couldn't scroll Tk apps with my PowerBook's two-finger-drag thing. -- pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 |
From: Revar D. <rev...@gm...> - 2005-08-28 20:34:53
|
Um, oops. Yes, you have correctly translated my Revarese. I braino-ed. - Revar On Aug 26, 2005, at 12:13 PM, Oscar Bonilla wrote: > I think what Jeff is talking about is that the event <MouseWheel> > needs to be able to return information about both vertical and > horizontal scrolling. > > Currently, <MouseWheel> events only return a %D (delta) value that > is assumed to be vertical. We need new values, like %D for vertical > (as it is now) and %H for the horizontal. Revar meant to suggest > this, but made a small mistake and said "Perhaps %D for the > vertical, like we have now, and %V for the vertical?", which is not > what he meant. (See how good I am at reading people's minds :-) > > On Aug 26, 2005, at 12:05 PM, Tim Jones wrote: > > >> On Aug 26, 2005, at 11:42 AM, Jeff Hobbs wrote: >> >> >> >>> This does not yet exist, but it is a good idea. Also note >>> that there are horizontal scrolling mousewheels in the >>> Windows world (horrible things, IMO, but they exist), so a >>> general solution is needed. >>> >>> >> >> How about using <Shift-MouseWheel> as other Mac environments >> currently use for horizontal scrolling? >> >> <MouseWheel> moves vertically >> <Shift-MouseWheel> moves horizontally >> >> Then, you could map the MM'S scrollbutton events to those. >> >> Tim >> -- >> Tim Jones tj...@to... >> >> >> >> ------------------------------------------------------- >> SF.Net email is Sponsored by the Better Software Conference & EXPO >> September 19-22, 2005 * San Francisco, CA * Development Lifecycle >> Practices >> Agile & Plan-Driven Development * Managing Projects & Teams * >> Testing & QA >> Security * Process Improvement & Measurement * http://www.sqe.com/ >> bsce5sf >> _______________________________________________ >> Tcl-mac mailing list >> Tc...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-mac >> >> > > -- > pgp fingerprint: BC64 2E7A CAEF 39E1 9544 80CA F7D5 784D FB46 16C1 > > > > ------------------------------------------------------- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > Practices > Agile & Plan-Driven Development * Managing Projects & Teams * > Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/ > bsce5sf > _______________________________________________ > Tcl-mac mailing list > Tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > |
From: Daniel A. S. <st...@ic...> - 2005-08-27 04:58:55
|
Oscar, On 26/08/2005, at 7:38, Oscar Bonilla wrote: > It seems the Mighty Mouse mousewheel is event #11. see http://lists.apple.com/archives/Carbon-dev/2005/Aug/msg00814.html for details on the new event (no docs yet afaict), it gets converted to a MouseWheel event automatically. However, we don't see these auto-converted MouseWheel events in tk because they are sent directly to the dispatcher target and not posted to the event queue (which is where we process events), the solution for this is to install a MouseWheel event handler on the dispatcher target and call TkMacOSXProcessEvent() from there (similarly to the kEventWindowExpanded handler on the app target I've recently added for <Unmap> detection) I have been planning for a while to look into reworking tkaqua event handling to explicitly register for the events we are interested in on the dispatcher target rather than handle them before dispatch from the event queue; as more and more interesting Carbon events are generated by HITooolbox internally and directly sent to the dispatcher or some other event target, rather than posted to the event queue. Cheers, Daniel -- ** Daniel A. Steffen ** "And now for something completely ** Dept. of Mathematics ** different" Monty Python ** Macquarie University ** <mailto:st...@ma...> ** NSW 2109 Australia ** <http://www.maths.mq.edu.au/~steffen/> |