Перепривязка <s-mouse-1> к <mouse-2> в Emacs на OS X

8

Я использую MacBook Pro и, таким образом, подвергаюсь трекпаду с одной кнопкой. Я могу, конечно, сделать mouse-1, щелкнув и mouse-3щелкнув двумя пальцами, но я ничего не могу поделать со средним щелчком ( mouse-2).

Я удивлен, что это не укусило меня раньше, но я только недавно начал раздражаться из-за отсутствия средней кнопки мыши. В частности, я начал использовать ERCи flyspell, обе из которых имеют функции, которые требуют среднего щелчка.

Я много гуглил, но не смог найти способ сделать это. Вот именно то, что я хотел бы сделать:

В Emacs я бы хотел, чтобы Emacs смотрел так, command+mouse-1как если бы он был mouse-2. По сути, я бы хотел, чтобы способ был привязан, <s-mouse-1>чтобы вызвать <mouse-2>событие. Это возможно?

Если это вообще полезно, я использую одну из сборок Emacs 24 с Cocoa Emacs и запускаю Lion на MacBook Pro эпохи 2008 года.

Rayne
источник

Ответы:

5

Попробуй это:

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

Для получения дополнительной информации прочитайте Keymaps перевода .

Трей Джексон
источник
2
Когда я делаю это и затем пытаюсь использовать cmd-щелчок для flyspell, он выдает следующее сообщение об ошибке: flyspell-correct-word должно быть связано с событием с параметрами. Какие-либо предложения?
Alex R
1
Странно, я видел то же сообщение об ошибке. Следующее работает для меня, хотя:(global-set-key [M-down-mouse-1] 'flyspell-correct-word)
edwardw
0

Предложение Трея не сработало для меня, но это сработало:

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

Это сопоставляет управление левой кнопкой мыши и средней кнопкой мыши (эта down-часть не работает для меня).

Примечание для Алекса Р: C-...управляющий, а не командный (строчный s-...)

Шон Корфилд
источник
0

Это не столько решение, сколько обходной путь, но в настоящее время я пробую приложение MiddleClick (с открытым исходным кодом) , которое добавляет функциональные возможности среднего щелчка по всей системе, вызывая средний щелчок, когда вы делаете три пальца. нажмите.

Единственная проблема заключается в том, что вы можете случайно нажать среднюю кнопку мыши, время от времени касаясь тремя пальцами трекпада, что несколько раздражает. Очевидно также, что системные привязки трекпада (например, App Exposeили Mission Control) могут конфликтовать с касанием тремя пальцами, если вы не сделаете соответствующее прокручивающее движение достаточно выраженным. Вероятно, вы можете исправить эти конфликты, настроив источники, так как кажется, что в самом запущенном приложении нет настроек.

Вы также можете установить MiddleClick с помощью homebrew:

brew cask install middleclick

РЕДАКТИРОВАТЬ:

Оказывается, поведение MiddleClick тремя касаниями довольно раздражающее и непригодное, по крайней мере для меня. Кроме того, попытка изменить источники для лучшего поведения оказалась более сложной задачей, чем она того стоит, так как MiddleClick использует ее MultitouchSupport.framework, которая является частной и требует обратного инжиниринга для определения параметров ее функций. К сожалению, сейчас у меня нет на это времени, особенно над чем-то таким простым. Тем не менее, я нашел BetterTouchTool, который реализует те же основные функции, но обеспечивает гораздо больше возможностей настройки. Это не бесплатно, но всего за 3 доллара, и более того, он отлично работает с Magic Trackpad 2, чего нельзя сказать о аналогичном приложении, которое я также пробовал, MagicPrefs.

BetterTouchTool также можно установить с помощью homebrew:

brew cask info bettertouchtool
ВВП2
источник