[Mac-emacs-devel] Patch for Mouse-wheel, Multi mouse-button support & more
Brought to you by:
akochoi
|
From: Steven T. <ste...@ma...> - 2002-07-20 06:56:16
|
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.
|