Rebinding <s-mouse-1> ke <mouse-2> di Emacs pada OS X


8

Saya menggunakan macbook pro dan karenanya terkena trackpad dengan satu tombol. Saya bisa, tentu saja, lakukan mouse-1dengan mengklik dan mouse-3mengklik dengan dua jari, tetapi tidak banyak yang bisa saya lakukan dengan klik tengah ( mouse-2).

Saya terkejut ini belum menggigit saya sebelumnya, tetapi saya baru-baru ini mulai terganggu oleh kurangnya tombol tengah mouse. Secara khusus, saya sudah mulai menggunakan ERCdan flyspell, keduanya memiliki fungsi yang memerlukan klik tengah.

Saya sudah menelusuri Google secara luas tetapi belum dapat menemukan cara untuk melakukan ini. Inilah tepatnya yang ingin saya lakukan:

Di Emacs, saya ingin agar Emacs melihatnya command+mouse-1seolah-olah mouse-2. Pada dasarnya, saya ingin cara untuk memberontak <s-mouse-1>untuk memicu <mouse-2>acara. Apakah ini mungkin?

Jika ini sangat membantu, saya menggunakan salah satu dari 24 emac Cocoa Emacs dan saya menjalankan Lion pada macbook pro era '08.

Jawaban:


5

Coba ini:

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

Untuk informasi lebih lanjut, baca Terjemahan Keymaps .


2
Ketika saya melakukan ini dan kemudian mencoba menggunakan cmd-klik untuk flyspell itu mengeluh dengan pesan kesalahan berikut: flyspell-correct-word harus terikat ke acara dengan parameter. Ada saran?
Alex R

1
Aneh, saya melihat pesan kesalahan yang sama. Berikut ini berfungsi untuk saya:(global-set-key [M-down-mouse-1] 'flyspell-correct-word)
edwardw

0

Saran Trey tidak berhasil untuk saya tetapi ini berhasil:

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

Peta ini mengontrol klik kiri ke klik tengah ( down-bagian tidak berfungsi untuk saya).

Catatan untuk Alex R: C-...adalah control-, bukan command- (yang merupakan huruf kecil s-...)


0

Ini tidak begitu banyak solusi sebagai solusi, tapi saya sedang mencoba aplikasi MiddleClick (open source) yang menambahkan fungsionalitas klik tengah di seluruh sistem dengan memicu klik tengah ketika Anda melakukan tiga jari - keran.

Satu-satunya masalah adalah Anda dapat menekan klik tengah secara tidak sengaja dengan menyentuh tiga jari pada trackpad setiap saat, yang agak mengganggu. Ada juga ikatan trackpad sistem yang jelas (misalnya, App Exposeatau Mission Control) yang dapat bertentangan dengan ketukan tiga jari jika Anda tidak membuat gerakan bergulir yang sesuai cukup diucapkan. Anda mungkin dapat memperbaiki konflik ini dengan mengubah sumbernya, karena tampaknya tidak ada pengaturan di aplikasi yang berjalan itu sendiri.

Anda dapat menginstal MiddleClick via homebrew juga:

brew cask install middleclick

EDIT:

Ternyata perilaku tiga-jari-tap MiddleClick agak menjengkelkan dan tidak dapat digunakan, setidaknya bagi saya. Juga, mencoba untuk memodifikasi sumber untuk perilaku yang lebih baik terbukti lebih banyak masalah daripada nilainya, seperti MiddleClick memanfaatkan MultitouchSupport.framework, yang bersifat pribadi dan membutuhkan rekayasa balik untuk memahami parameter fungsinya. Sayangnya, saya tidak punya waktu untuk itu sekarang, esp. lebih dari sesuatu yang sangat mendasar. Namun, saya menemukan BetterTouchTool yang mengimplementasikan fungsionalitas dasar yang sama tetapi memberikan lebih banyak kemampuan penyesuaian. Ini tidak gratis, tetapi hanya $ 3 dan lebih lagi berfungsi dengan baik dengan Magic Trackpad 2, yang tidak dapat dikatakan untuk aplikasi serupa yang saya juga coba, MagicPrefs.

BetterTouchTool juga dapat diinstal melalui homebrew:

brew cask info bettertouchtool
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.