Могу ли я изменить поведение клавиш Home и End на клавиатуре Apple с цифровой клавиатурой?

51

Я только что купил «Apple Keyboard with Numeric Keypad», а затем подключил ее к своему Macbook Pro под управлением Lion.

Но homeи endклавиша под F14ключ не работает, как я ожидал. Скажем, в «Страницах» homeклавиша не endпереводит курсор в начало строки, а клавиша приводит вас к нижней части страницы.

Кто-нибудь знает, как переназначить home/ endключ?

Кевин Рен
источник

Ответы:

54

Один из вариантов - создать ~/Library/KeyBindings/и сохранить список свойств следующим образом ~/Library/KeyBindings/DefaultKeyBinding.dict:

{
  "\UF729"  = moveToBeginningOfLine:;
  "\UF72B"  = moveToEndOfLine:;
  "$\UF729" = moveToBeginningOfLineAndModifySelection:;
  "$\UF72B" = moveToEndOfLineAndModifySelection:;
}

Выйдите и снова откройте приложения, чтобы применить изменения. Обратите внимание, что DefaultKeyBinding.dictне поддерживается некоторыми приложениями, такими как Xcode или Firefox.

В Терминале вы можете назначить home (↖) для control-a и end (↘) для control-e в «Предпочтения»> «Настройки»> «Клавиатура». Тем не менее, у вас не останется ни одной комбинации клавиш для прокрутки к верхней или нижней части окна.

Возможно, будет проще использовать стандартные сочетания клавиш. В большинстве родных текстовых представлений:

  • control-A или опция переходит в начало абзаца
  • control-E или опция до конца абзаца
  • команда left отправляется в начало строки
  • команда-право идет до конца строки
michaelmichael
источник
1
Это работает в большинстве моих приложений, таких как Pages и Textmate. Но я не смог заставить его работать в Терминале
5
Правильно. Терминал - это другая история, и вам нужно рассказать, как вы хотите, чтобы клавиши Home и End работали. Вы можете сделать это в Терминале -> Настройки -> Клавиатура. Установите клавишу Home для отправки control-aи клавишу End для отправки control-e. Это сочетания клавиш в стиле Emacs, которые Терминал использует для перемещения строк по умолчанию. Это будет имитировать обычное движение домой / конец, за которым вы следите.
Майкл Майкл
Еще раз спасибо, Майкл. Я попробую это сегодня вечером, когда вернусь к своему ноутбуку.
Кевин Рен
1
Работает в macOS Sierra! (Карабинер не работает в данный момент).
Густаво Безерра
2
@ ckpepper02 ВПРАВО? Я имею в виду такие неприятные и бессмысленные 99% случаев, когда PgUp и PgDown приводят вас к одной точке для всех, кроме самого длинного из документов. Хмм!
Робино
31

Другой вариант - включить настройку «Использовать домашний / конечный стиль ПК» в Karabiner (ранее KeyRemap4MacBook):

Параметр определен в Resources / include / checkbox / for_pc_users.xml .

Вы также можете сохранить файл как это ~/Library/Application Support/KeyRemap4MacBook/private.xml:

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>HOMEENDIGNORE</appname>
    <equal>com.microsoft.Word</equal>
    <equal>com.microsoft.Powerpoint</equal>
    <equal>com.microsoft.Excel</equal>
    <equal>com.vmware.fusion</equal>
    <prefix>com.vmware.proxyApp.</prefix>
  </appdef>
  <item>
    <name>homeend</name>
    <identifier>homeend</identifier>
    <not>HOMEENDIGNORE</not>
    <autogen>__KeyToKey__ KeyCode::HOME, ModifierFlag::NONE, KeyCode::A, VK_CONTROL</autogen>
    <autogen>__KeyToKey__ KeyCode::END, ModifierFlag::NONE, KeyCode::E, VK_CONTROL</autogen>
    <autogen>__KeyToKey__ KeyCode::HOME, VK_SHIFT | ModifierFlag::NONE, KeyCode::A, VK_CONTROL | VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::END, VK_SHIFT | ModifierFlag::NONE, KeyCode::E, VK_CONTROL | VK_SHIFT</autogen>
  </item>
</root>

Затем откройте приложение KeyRemap4MacBook, нажмите кнопку ReloadXML и включите настройку. См. Https://pqrs.org/macosx/keyremap4macbook/xml.html.en для получения дополнительной информации.

пескарь
источник
5

Поскольку этот ответ хорошо зарекомендовал себя в поисковых системах, я хочу объяснить, как я это сделал с последней версией Карабинера .
Параметр «Использовать стиль / конец в стиле ПК» необходимо загрузить с их веб-сайта. Вам нужно будет перейти к «Сложным изменениям», затем «Добавить правило», а затем выбрать «Импортировать дополнительные правила из Интернета». Вы попадете на этот веб-сайт: https://pqrs.org/osx/karabiner/complex_modifications/, где в разделе «Режимы эмуляции» вы можете найти «Ярлыки в стиле ПК». После того, как вы нажмете «Импортировать в элементы Karabiner», вы можете просто активировать его и быть готовым к работе.
Вам останется только выбрать «Добавить правило» и найти настройку «Использовать стиль / конец в стиле ПК».

страница сложных модификаций

unixb0y
источник
2
Ты мой герой.
afeique
1

Я хотел бы предложить вам удивительный keyremap4macbook , он бесплатный и несмотря на название, он работает на любом Mac (не обязательно MacBook), и здесь вы можете найти самый простой способ изменить поведение кнопок home / end по умолчанию, чтобы они работали так, как они должны (IMO)

Leonardo
источник
Я согласен, я чаще homeи endпострочно, а не на основе полного документа. Нужно сделать все возможное, чтобы уменьшить трения при выполнении наиболее частых сценариев использования и нажимать сочетания клавиш и тому подобное для менее частых команд.
октября
-1

Я следил за этой записью в блоге, и она выполняла привязки клавиш "home" и "end", а также несколько других пользовательских настроек.

niaher
источник
2
Нам нравится, чтобы ответы были больше, чем просто строка. В идеале, вы хотите объяснить, почему ваш ответ * правильный. "Это также помогает предоставлять ссылки, цитаты и / или снимки экрана. Пожалуйста, просмотрите раздел справки Как ответить на написание хороших ответов на вопросы
Аллан