<Smouse-1> erneut an <mouse-2> in Emacs unter OS X binden


8

Ich benutze ein MacBook Pro und bin daher einem Trackpad mit einer Taste ausgesetzt. Ich kann natürlich mouse-1durch Klicken und mouse-3Klicken mit zwei Fingern tun , aber ich kann nicht viel gegen einen mittleren Klick tun ( mouse-2).

Ich bin überrascht, dass mich das noch nie gebissen hat, aber ich habe mich erst kürzlich über das Fehlen einer mittleren Maustaste geärgert. Insbesondere habe ich angefangen, ERCund zu verwenden flyspell, die beide Funktionen haben, die einen mittleren Klick erfordern.

Ich habe ausgiebig gegoogelt, aber keinen Weg gefunden, dies zu tun. Genau das möchte ich tun:

In Emacs möchte ich, dass Emacs so aussieht, command+mouse-1als ob es so wäre mouse-2. Grundsätzlich möchte ich eine Möglichkeit zum erneuten Binden <s-mouse-1>, um ein <mouse-2>Ereignis auszulösen . Ist das möglich?

Wenn es überhaupt hilfreich ist, verwende ich einen der Emacs 24-Builds von Cocoa Emacs und verwende Lion auf einem MacBook Pro aus der Ära '08.

Antworten:


5

Versuche dies:

(define-key key-translation-map (kbd "<C-down-mouse-1>") (kbd "<down-mouse-2>"))

Weitere Informationen finden Sie unter Übersetzungs-Keymaps .


2
Wenn ich dies tue und dann versuche, einen Cmd-Klick für Flyspell zu verwenden, wird die folgende Fehlermeldung angezeigt: Flyspell-korrektes Wort muss an ein Ereignis mit Parametern gebunden sein. Irgendwelche Vorschläge?
Alex R

1
Seltsam, ich habe die gleiche Fehlermeldung gesehen. Folgendes funktioniert jedoch für mich:(global-set-key [M-down-mouse-1] 'flyspell-correct-word)
Edwardw

0

Treys Vorschlag hat bei mir nicht funktioniert, aber das hat funktioniert:

(define-key key-translation-map (kbd "<C-mouse-1>") (kbd "<mouse-2>"))

Dies ordnet die Steuerung mit der linken Maustaste dem mittleren Klick zu (das down-Stück hat bei mir nicht funktioniert).

Hinweis für Alex R: C-...ist Steuer-, nicht Befehls- (was Kleinbuchstaben ist s-...)


0

Dies ist weniger eine Lösung als eine Problemumgehung, aber ich probiere derzeit die (Open Source) MiddleClick-App aus, die systemweit Middle-Click-Funktionen hinzufügt, indem sie bei einem Drei- Finger-Vorgang einen Middle-Click auslöst. Zapfhahn.

Die einzigen Probleme sind, dass Sie versehentlich den Mittelklick drücken können, indem Sie ab und zu drei Finger auf dem Trackpad berühren, was etwas ärgerlich war. Es gibt natürlich auch die System-Trackpad-Bindungen (z. B. App Exposeoder Mission Control), die mit dem Tippen mit drei Fingern in Konflikt stehen können, wenn Sie die entsprechende Bildlaufbewegung nicht ausreichend ausdrücken. Sie könnten diese Konflikte wahrscheinlich beheben, indem Sie die Quellen optimieren, da anscheinend keine Einstellungen in der laufenden App selbst vorhanden sind.

Sie können MiddleClick auch über Homebrew installieren:

brew cask install middleclick

BEARBEITEN:

Es stellt sich heraus, dass das Drei-Finger-Tipp-Verhalten von MiddleClick zumindest für mich ziemlich nervig und unbrauchbar ist. Der Versuch, die Quellen für ein besseres Verhalten zu ändern, erwies sich als schwieriger als es sich lohnt, da MiddleClick davon Gebrauch macht MultitouchSupport.framework, was privat ist und Reverse Engineering erfordert, um die Parameter seiner Funktionen zu verstehen. Leider habe ich momentan keine Zeit dafür, insb. über etwas so Grundlegendes. Ich habe jedoch BetterTouchTool gefunden, das die gleiche Grundfunktionalität implementiert, aber viel mehr Anpassbarkeit bietet . Es ist nicht kostenlos, aber es kostet nur 3 US-Dollar und funktioniert außerdem gut mit dem Magic Trackpad 2, was für die ähnliche App, die ich auch ausprobiert habe, MagicPrefs , nicht gesagt werden kann.

BetterTouchTool kann auch über Homebrew installiert werden:

brew cask info bettertouchtool
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.