Rebinding <s-mouse-1> thành <mouse-2> trong Emacs trên OS X


8

Tôi sử dụng macbook pro và do đó phải chịu một trackpad chỉ với một nút bấm. Tất nhiên, tôi có thể làm mouse-1bằng cách nhấp và mouse-3nhấp bằng hai ngón tay, nhưng tôi không thể làm gì nhiều với nhấp chuột giữa ( mouse-2).

Tôi ngạc nhiên vì điều này đã không cắn tôi trước đây, nhưng tôi chỉ mới bắt đầu thấy khó chịu vì thiếu nút chuột giữa. Cụ thể, tôi đã bắt đầu sử dụng ERCflyspell, cả hai đều có chức năng yêu cầu nhấp chuột giữa.

Tôi đã googled rộng rãi nhưng không thể tìm ra cách để làm điều này. Đây chính xác là những gì tôi muốn làm:

Trong Emacs, tôi muốn Emacs xem command+mouse-1như thể nó là vậy mouse-2. Về cơ bản, tôi muốn một cách để rebind <s-mouse-1>để kích hoạt một <mouse-2>sự kiện. Điều này có thể không?

Nếu nó hữu ích chút nào, tôi đang sử dụng một trong 24 bản dựng Emacs của Ca cao Emacs và tôi đang chạy Lion trên macbook pro '08.

Câu trả lời:


5

Thử cái này:

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

Để biết thêm thông tin, hãy đọc Keymaps dịch .


2
Khi tôi làm điều này và sau đó thử sử dụng một cú nhấp chuột cmd cho flyspell, nó sẽ phàn nàn với thông báo lỗi sau: flyspell-true-word phải được liên kết với một sự kiện với các tham số. Bất kỳ đề xuất?
Alex R

1
Thật kỳ lạ, tôi thấy thông báo lỗi tương tự. Các công việc sau đây đối với tôi mặc dù:(global-set-key [M-down-mouse-1] 'flyspell-correct-word)
edwardw

0

Đề nghị của Trey không làm việc cho tôi nhưng điều này đã làm:

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

Bản đồ này điều khiển nhấp chuột trái đến nhấp chuột giữa ( down-phần này không phù hợp với tôi).

Lưu ý với Alex R: C-...là control-, không phải lệnh- (là chữ thường s-...)


0

Đây không phải là một giải pháp như một cách giải quyết, nhưng tôi hiện đang thử ứng dụng MiddleClick (nguồn mở) có thêm chức năng nhấp chuột giữa trên toàn hệ thống bằng cách kích hoạt nhấp chuột giữa khi bạn thực hiện ba ngón tay- gõ.

Vấn đề duy nhất là bạn có thể vô tình nhấn chuột giữa bằng cách chạm ba ngón tay trên trackpad mọi lúc, điều này có phần khó chịu. Rõ ràng cũng có các ràng buộc trackpad hệ thống (ví dụ, App Exposehoặc Mission Control) có thể xung đột với ba ngón tay nếu bạn không thực hiện chuyển động cuộn tương ứng đủ phát âm. Bạn có thể có thể khắc phục các xung đột này bằng cách điều chỉnh các nguồn, vì có vẻ như không có cài đặt nào trong ứng dụng đang chạy.

Bạn cũng có thể cài đặt MiddleClick qua homebrew:

brew cask install middleclick

BIÊN TẬP:

Hóa ra, hành vi chạm ba ngón tay của MiddleClick khá khó chịu và không sử dụng được, đối với tôi ít nhất. Ngoài ra, việc cố gắng sửa đổi các nguồn để có hành vi tốt hơn chứng tỏ là rắc rối hơn giá trị của nó, vì MiddleClick sử dụng MultitouchSupport.framework, là riêng tư và yêu cầu kỹ thuật đảo ngược để hiểu được các tham số của chức năng. Thật không may, tôi không có thời gian cho việc đó ngay bây giờ, đặc biệt. trên một cái gì đó rất cơ bản. Tuy nhiên, tôi đã tìm thấy BetterTouchTool mà thực hiện các chức năng cơ bản giống nhau nhưng cung cấp nhiều tùy biến nhiều hơn. Nó không miễn phí, nhưng nó chỉ có 3 đô la và hơn thế nữa, nó hoạt động tốt với Magic Trackpad 2, không thể nói cho ứng dụng tương tự mà tôi cũng đã thử, MagicPrefs.

BetterTouchTool cũng có thể được cài đặt qua homebrew:

brew cask info bettertouchtool
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.