Patch for Mouse-wheel, Multi mouse-button support & more

Steven Tamm <[email protected]> Fri, 19 Jul 2002 23:55:26 -0700
Newsgroups gmane.emacs.macintosh.devel
Message-ID <[email protected]>
--Apple-Mail-2--551196812
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed

While Andrew's on vacation, I figured I'd send this patch out to the 
list to get people trying it out.

The main part of this patch is to switch the event handling loop in 
XTread_socket from using the Mac OS 9 style WaitNextEvent to using the 
preferred carbon method ReceiveNextEvent.  This allows the following to 
be supported:

1.  Mouse button support
     Keyboard Modifiers now sent with mouse button events
     Right mouse button reported as mouse-2.  Third mouse button or 
mouse-wheel button reported as mouse-3.  This mapping is customizable.

2.  Mouse wheel support.
     Mouse-wheel events are sent out using the Windows-NT style 
[mouse-wheel] event style.   Changes to mac-win.el included here use 
mwheel.el to support auto scrolling.

3.  Drag and drop support onto frames.
     Drag a file from the finder onto a specific buffer and it will 
autoload the buffer.

4.  Preliminary OSX Services menu support
     Currently only supports reading the last thing yanked (or current 
selection).  So you can highlight a URL and invoke the "Open URL in 
OmniWeb" menu from the services menu.  I'd really like developers more 
familiar with emacs-kill ring to try and give this a look, since it 
currently relies on the clipboard which is not the best.

5.  Iconify-frame now collapses the window into the dock.
    Changes to mac-win.el to map C-z to "iconify" the frame to the dock.  
Currently this doesn't mark the window as actually being iconified in 
emacs.  I'm not sure this is the right thing to do.

6.  M-h now available since command-h key doesn't automatically turn 
into invoking "Hide Emacs"

Most of these changes are guarded by a #ifdef variable called 
USE_CARBON_EVENTS which defaults to being on.  If this is commented out, 
the support for drag and drop and keyboard modifiers on mouse events are 
still supported.


Here are the new variables added:
mac-reverse-ctrl-meta.  If t, causes the control and meta keys to be 
reversed.  The default is nil.  For people using PC keyboards mapped to 
the Mac, this is quite beneficial.  Note, this cannot be extended to 
switching caps lock and control.  I tried.

mac-wheel-button-is-mouse-2.  If t, causes the mouse-wheel button to map 
to mouse-2 and the "right" mouse button to map to mouse-3.  If nil, the 
mapping is reversed.  The default is t.



--Apple-Mail-2--551196812
Content-Disposition: attachment;
	filename=latest.patch.gz
Content-Transfer-Encoding: base64
Content-Type: application/x-gzip;
	x-unix-mode=0644;
	name="latest.patch.gz"

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

--Apple-Mail-2--551196812
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed



-Steven

P.S.  I can't seem to get the popup menus to work right.  If you install 
this patch, try C-mouse-2 to see it.  Any help would be appreciated.

--Apple-Mail-2--551196812--



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf