Создание физического управляющего ключа на новом MacBook Pro с помощью TouchBar путем изменения .keylayout для § ключа

10

Английские раскладки клавиатуры для TouchBar MacBook Pro имеют довольно бесполезную клавишу § / ± в левом верхнем углу, которая была бы идеальной для использования в качестве физической клавиши ESC (см. Это изображение ).

macOS имеет систему отображения клавиатуры (/ Library / Keyboard Layouts / - например, см. http://www.gingerbeardman.com/UK.keylayout/ и https://developer.apple.com/library/content/technotes/tn2056/ _index.html ), что позволяет менять ключи вокруг.

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

<key code="<code for that key>" output="&#x1B;" />

должен позволить мне сделать этот ключ escape-ключом. (Если я могу найти / создать макет для всех остальных клавиш!)

Погуглил Я не нашел никого, кто бы упомянул, что они сделали это, что мне кажется странным. Есть ли какая-то причина, по которой это не сработает? Можно ли переназначить клавиатуру TouchBar файлом .keylayout без потери функциональности?

Я воздерживался от покупки нового MacBook Pro из-за страха потерять физическую клавишу выхода! Я знаю, что вы можете переназначить ctrl / cmd / etc в Escape, используя Системные настройки, но в сравнении это кажется плохим решением.

JosephH
источник
Какой ключ вы собираетесь использовать, если не заглавные буквы, или те, которые включены в Apple, очень просты и настраиваемы?
bmike
1
@bmike Клавиша § / ± в левом верхнем углу раскладки клавиатуры в Великобритании - посмотрите на это изображение, чтобы увидеть клавишу, о которой я говорю: d.ibtimes.co.uk/en/full/1570365/macbook-pro-touch- bar.jpg - это бесполезный ключ, который я никогда не использовал по назначению на любом Mac!
JosephH
Вау - я пропустил эту часть полностью. Посмотрим, смогу ли я найти какие-либо варианты, чтобы переназначить это. Мой ответ не настолько гибок с опцией «easy» remap.
bmike
@bmike Спасибо! Да. Это интересная опция, которую нельзя найти на американских клавиатурных картах. :-) Я надеюсь, что это возможно с помощью .keylayout. Я на самом деле заказал MacBook Pro Touchbar сейчас, чтобы иметь возможность экспериментировать, когда он прибудет.
JosephH

Ответы:

9
  1. Установить Карабинер-Элементы
  2. Запустите его из панели запуска (очевидно)
  3. На вкладке «Простые изменения» создайте отображение «не-нас-обратной реакции» на «побег»
  4. Наслаждайтесь!

Кстати, ключевой код для «§» - 0A (как сообщает Karabiner Event Viewer)

igrinis
источник
1
опечатка:s/non-us-backlash/non-us-backslash
Шломи Ноах
6

Откройте Системные настройки - выберите клавиатуру. Затем выберите Modifier Keys ... в правом нижнем углу окна.

Мне назначен побег на ключ блокировки заглавных букв.

введите описание изображения здесь

Я согласен, что использование управляющих клавиш для выхода из строя плохое, но клавиша Caps Lock работает очень хорошо. На практике у меня не было никаких проблем с обучением использованию программной клавиши Escape. После того, как я привык к этому, благодаря блокировке колпачков стало намного быстрее из-за уменьшенного расстояния перемещения от домашнего ряда.

bmike
источник
6

Я нашел некоторую документацию по переназначению ключей в macOS 10.12 Sierra, которая работает без каких-либо сторонних инструментов.

Чтобы изменить ключ чуть выше вкладки, установите для src значение 0x64 (Keyboard Non-US \ and |), а для dst значение 0x29 (Escape). Эти значения должны быть OR или 0x700000000 в вызове hidutil по некоторым причинам.

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}'

Вы можете поместить это в LaunchAgent (~ / Library / LaunchAgents / give.me.esc.key.plist), чтобы он устанавливался при каждом входе в систему.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>give.me.esc.key</string>
    <key>ProgramArguments</key>
    <array>
        <string>hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
gipset
источник
Вы спасли мою жизнь. Я ненавижу клавиатуру с тильдой рядом с кнопкой короткого переключения и клавишей f * n §под escape. Таким образом, я переназначил это с кнопкой тильды и расширенной сменой. hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000035},{"HIDKeyboardModifierMappingSrc":0x700000035,"HIDKeyboardModifierMappingDst":0x7000000e1}]}'Кстати , вы можете получить эти коды с помощью клавиш просмотра из карабина
DanSkeel
Как мне сохранить доступ shift- §чтобы я все еще мог пользоваться ±? Т.е. я могу использовать модификаторы?
Вивку