Я использую Seil для переназначения кнопки Caps Lock.
Следуя инструкции, я отключил Caps Lock, установив для него значение «Нет действий» в «Системных настройках» → «Клавиатура» → «Клавиши-модификаторы».
Затем перешел к Seil «Изменить клавишу Caps Lock» и установил код клавиши на 53. Теперь он работает как клавиша Esc и работает.
Теперь я хочу, чтобы клавиша Esc работала как Caps Lock.
В Карабинере в разделе «Изменить клавишу Escape» я установил флажок «Escape to CapsLock». Однако это работает совершенно неправильно. Нажатием кнопки Esc меняется заглавная буква, но так же, как и нажатием кнопок Shift+Esc. Также в этом режиме кнопка Caps Lock работает как обычная кнопка, изменяя заглавные буквы.
Но если я изменю его на поле «Shift-Escape to CapsLock», тогда все будет работать, кроме одного: мне нужно нажать Shift + Esc, чтобы изменить заглавные буквы.
Так что на самом деле это не перестановка между кнопками Esc и Caps Lock.
Я что-то пропустил? Как решить эту проблему?
Проблема в том, что вы настраиваете рекурсивную привязку клавиш.
caps lock -> esc
esc -> caps lock
Так что в конце концов, когда вы нажмете caps lock
или esc
вы все равно получите caps lock
.
caps lock -> esc -> caps lock
При совместном использовании Seil и Karbiner вы должны следовать цепочке модификаций Input Even , чтобы определить результат нажатия клавиши (см. Пример 2 и настройки множественного числа в Karabiner по ссылке). Вы должны обратить внимание на порядок событий ввода.
Другими словами, вы НЕ МОЖЕТЕ поменять местами только два ключа с помощью метода Seil & Karabin, который вы пытаетесь использовать. Это всегда будет создавать caps lock
проблему рекурсии нажатия клавиш.
Скорее, вам следует попытаться переназначить оба ключа с помощью Karbiner только для создания частного XML-файла сопоставления . Это связано с тем, что Karabiner сам по себе не позволяет создавать рекурсивные модификации событий.
Я надеюсь, что это имеет логический смысл и помогает.