В британских раскладках клавиатуры TouchBar MacBook Pro есть довольно бесполезная клавиша §/± в левом верхнем углу, которую можно было бы идеально использовать в качестве физической клавиши выхода (см. это изображение ).
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="" />
должен позволить мне сделать этот ключ управляющим ключом. (Если я смогу найти/создать раскладку и для всех остальных клавиш!)
Погуглив, я не нашел, чтобы кто-нибудь упоминал, что они сделали это, что кажется мне странным. Есть ли какая-то причина, по которой это не сработает? Можно ли переназначить клавиатуру TouchBar с помощью файла .keylayout без потери каких-либо функций?
Я откладывал покупку нового MacBook Pro из-за страха потерять физическую клавишу выхода! Я знаю, что вы можете переназначить ctrl/cmd/etc на Escape с помощью Системных настроек, но по сравнению с этим это кажется плохим решением.
Код ключа BTW для «§» — 0A (как сообщает Karabiner Event Viewer)
s/non-us-backlash/non-us-backslash
Я нашел документацию по переназначению ключей в macOS 10.12 Sierra , которая работает без каких-либо сторонних инструментов.
Чтобы изменить клавишу чуть выше вкладки, установите src на 0x64 (клавиатура не для США \ и |) и dst на 0x29 (Escape). По какой-то причине эти значения должны быть соединены по ИЛИ с 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>
§
под выходом. Поэтому я переназначил его с помощью кнопки тильда и расширенного Shift. hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000035},{"HIDKeyboardModifierMappingSrc":0x700000035,"HIDKeyboardModifierMappingDst":0x7000000e1}]}'
Кстати, вы можете получить эти коды с помощью программы просмотра ключей от карабинера.shift
чтобы §
я все еще мог использовать ±
? Т.е. я могу использовать модификаторы?Откройте Системные настройки - выберите клавиатуру. Затем выберите « Ключи-модификаторы... » в правом нижнем углу окна.
У меня escape назначен на клавишу Caps Lock.
Я согласен, что использование управляющих клавиш для выхода плохое, но клавиша Caps Lock работает очень хорошо. На практике у меня не было никаких проблем с обучением использованию программной клавиши Escape. Caps Lock работает намного быстрее, когда я привык к нему из-за меньшего расстояния от домашнего ряда.
Если вы используете macOS 11, все изменилось: в Big Sur есть критические изменения для «Karabiner», так как macOS 11 «больше не будет загружать расширения ядра, которые по умолчанию используют устаревшие программные интерфейсы ядра (KPI)» (как указано на веб-сайте Karabiner). , разработчики работают над переходом на более новый механизм DriverKit из расширения ядра и планируют поддерживать его в Karabiner-Elements 13.0.0).
Если вы здесь, чтобы переназначить escape
, возможно, section
вы могли бы использовать: Переназначить клавиатуру . Версия: 1.6 это: "Попробуйте бесплатно и переназначьте любую одну клавишу".
Хотя я надеюсь, что в будущем Apple расширит переназначение клавиатуры не только клавишами-модификаторами.
bmike
ДжозефХ
bmike
ДжозефХ
Оливер Джозеф Эш
ДжозефХ