回答:
また、flyspellにmouse-3
コンテキストメニューに適したものを使用するように指示することもできます。
(eval-after-load "flyspell"
'(progn
(define-key flyspell-mouse-map [down-mouse-3] #'flyspell-correct-word)
(define-key flyspell-mouse-map [mouse-3] #'undefined)))
さらにグーグルでマニュアルを読んだ後~/.emacs.d/init.el
、次の行をファイルに追加することで、自分に役立つ解決策を見つけました。
(define-key key-translation-map (kbd "<s-mouse-1>") (kbd "<mouse-2>"))
このようにmouse-2
して、トラックパッドでクリックするときにコマンドを押してイベントを生成できます。
key-translation-map
「... 変換キーマップを使用して特定のイベントシーケンスを他のシーケンスに変換する」変換キーマップ(マニュアルを参照)です。
SuperUserでの私の回答からのコピー:
これは回避策としてのソリューションではありませんが、私は現在、(オープンソースの)MiddleClickアプリを試しています。これは、3本指を押すとミドルクリックをトリガーして、システム全体にミドルクリック機能を追加します。タップします。
唯一の問題は、トラックパッドの3本の指を時々タッチすることにより、中マウスボタンを誤って押してしまう可能性があることです。また、対応するスクロール動作を十分に発音させない場合、3本指タップと競合する可能性のあるシステムトラックパッドバインディング(App Expose
またはなどMission Control
)もあります。実行中のアプリ自体には設定がないように見えるため、ソースを微調整することでこれらの競合を修正できます。
MiddlebClickはhomebrewからもインストールできます。
brew cask install middleclick
編集:
少なくとも私にとって、MiddleClickの3本指タップの動作はかなり煩わしく、使用できないことがわかりました。また、MiddleClick MultitouchSupport.framework
はプライベートであり、その関数のパラメーターを理解するためにリバースエンジニアリングを必要とするため、MiddleClickはを使用するため、ソースをより良い動作に変更しようとすると、それよりも問題が多いことが判明しました。残念ながら、今はそのための時間はありません。とても基本的なものの上に。しかし、私が見つけたBetterTouchTool同じ基本的な機能を実装していますが、提供してはるかに多くのカスタマイズを。無料ではありませんが、たったの$ 3で、Magic Trackpad 2でも問題なく機能します。これは、私が試した同様のアプリ、MagicPrefsには当てはまりません。
BetterTouchToolは、homebrewからもインストールできます。
brew cask info bettertouchtool
私はbryan-ashの回答を、のマジックマウスバインディングをカスタマイズするのでは
add-hook
なく、関数を使用するように調整しeval-after-load
ましたflyspell
。
以下のelispコードを.emacs
ファイルに追加して、マジックマウスをマッピングし、down-mouse-3
をmouse-3
クリックしflyspell
ます。
;;
(add-hook 'flyspell-mode-hook 'my-flyspell-mode-hook)
;;
(defun my-flyspell-mode-hook ()
;; Do things when flyspell enters of leaves flyspell mode
;; Added manually
;;
;; Magic Mouse Fixes
(if flyspell-mode (progn
(define-key flyspell-mouse-map [down-mouse-3] #'flyspell-correct-word)
(define-key flyspell-mouse-map [mouse-3] #'undefined))
nil)
;; End my-flyspell-mode-hook
)
この回答は以下を使用して検証されました:
emacs-version: 2018-05-30のGNU Emacs 26.1(ビルド1、x86_64-apple-darwin14.5.0、NS appkit-1348.17バージョン10.10.5(ビルド14F2511))
これは私のために働く
(defun middle-click (click)
(interactive "e")
(let ((event (event-start click))
(prefix-arg current-prefix-arg))
(call-interactively (key-binding (vector (list 'mouse-2 event)) t))))
(global-set-key (kbd "<s-mouse-1>") 'middle-click)
https://lists.gnu.org/archive/html/help-gnu-emacs/2003-07/msg00259.htmlから