[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. |