OSX Emacs: отвяжите только правильный alt? - PullRequest
17 голосов
/ 14 июня 2011

Я использую emacsformacosx.com и хотел бы остановить Meta_R (правая мета или правая опция) на моей клавиатуре Apple, чтобы она была мета-ключом Emacs.

Причина в том, что я хочу продолжать использовать правильный ключ опции в качестве модификатора символа, чтобы я мог вводить символы UTF-8 при записи в emacs.Я знаю, что могу, например, набрать C-x 8 RET и набрать em dash, но это намного больше, чем Alt_R -!

Есть ли способ передачи кода ключа на global-unset-key?Или что-то еще, что я пропускаю?

Мне должно быть ясно, что я все еще хочу иметь возможность использовать привязку Meta_L:)

Ответы [ 4 ]

25 голосов
/ 27 июня 2011

Чтобы отобразить левую клавишу Alt с помощью META и правую клавишу Alt с ALT , в версии GNU Emacs для Mac OS X я использую:

(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)

Он должен делать то поведение, которое вы ожидаете.

14 голосов
/ 14 июня 2011

Aquamacs имеет переменную с именем ns-right-alternate-modifier .Если я правильно читаю документацию, это должно сделать то, что вы хотите:

(setq ns-right-alternate-modifier nil)

Я не уверен, поддерживается ли это в стандартной GNU Emacs.

3 голосов
/ 20 ноября 2011

Я нашел решение для моего MacBook Pro с французской клавиатурой.

Учитывая, что я почти никогда не использую здесь клавишу Fn, что я сделал:

;ALT рассматривается как ALT и не интерпретируется как META
(setq-default mac-option-modifier nil)

;Fn считается META и не интерпретируется как Fn
(setq-default mac-function-modifier 'meta')

Так что я могу дурачиться с таким количеством обратной косой черты, как я хочу в emacs!

\\ [БОЛЬШОЙ !!!] \\

2 голосов
/ 14 июня 2011

Это не совсем то, что вы хотите, но это то, что я делаю, и может кому-то помочь (например, на клавиатуре Macbook, у которой есть только одна клавиша выбора): вы можете связать только те клавиши, которые вам нужны:

(global-set-key "\M-_" (lambda () (interactive) (ucs-insert "2014")))

для тире и т. Д. Просто свяжите то, что вы обычно используете. В редком случае, когда вы хотите набрать что-то, что вы не связали, вы можете (в Aquamacs, и это должно быть возможно и в других Emacsen) нажать C-;, что связано с toggle-mac-option-modifier, так что ключ Option не имеет значения длиннее мета, введите символ и снова нажмите C-;.

...