Как использовать CapsLock в качестве клавиши-модификатора, не используя Alt + Shift?


18

Я хочу использовать CapsLockв качестве клавиши-модификатора для ввода символов, таких ({\})=как алфавитные клавиши на клавиатуре.

Например:

CapsLock+a is mapped to =
CapsLock+k is mapped to \

Чтобы сделать это, я сопоставляются CapsLockс Option+ Shiftпомощью Keyremap4Macbook , следуя инструкциям в « Полезной CapsLock ключ ».

<item>
    <name>F19 to F19</name>
    <appendix>(F19 (capslock) to (shift+opt))</appendix>
    <identifier>private.f192f19_escape</identifier>
    <not>VIRTUALMACHINE</not>
    <autogen>
        --KeyOverlaidModifier--
        KeyCode::F19,
        KeyCode::OPTION_L,
        ModifierFlag::SHIFT_L,
    </autogen>
</item>

Обратите внимание, что до этого я отображал CapsLockкод клавиши 80 в PcKeyboardHack, который является кодом клавиши F19.

Затем я сопоставил сочетания клавиш CapsLock + alphabetical charactersс символами, такими как =\})(использование Ukelele.

Пока что все работает правильно, за исключением того, что у этой настройки есть побочный эффект: я не могу использовать Alt+ Shiftмодификатор для любой другой привязки ключа. Это довольно ограничительный компромисс.

Я попытался сопоставить CapsLockболее сложные привязки клавиш, такие как Ctrl+ Shift+ Altили Cmd+ Shift+ Altили Ctrl+ Cmd+ Shift+ Alt. Но это не сработало, потому что тогда mapping CapsLock+ alphabetical keysв Ukelele также меняет алфавитные клавиши. Например, предположим, что Ctrl+ Shift+ Alt+ aотображается на =. Тогда aодин сопоставлен =также.

Интересно, можно ли как-то решить эту проблему? Я думаю, что может быть два альтернативных пути для поиска решения:

  1. Создание новой пользовательской клавиши-модификатора CapsLockбез использования существующих клавиш-модификаторов, таких как Alt+ Shift.
  2. Предотвращение сопоставления Ctrl+ Shift+ Alt+ aдля изменения aключа все вместе.

Возможно ли реализовать эти решения?


Я только что понял, что никогда не бил по кепке цели ...
Макс Райд

2
Большинство людей не используют блокировку заглавных букв. Но расположение заглавных букв гораздо проще получить доступ, чем любая другая клавиша-модификатор. Использование ключей домашней строки вместе с заглавными буквами для ввода символов - очень большой прирост производительности.
Мерт Нухоглу

Разве вы не можете просто сделать часть Ukelele без предварительной привязки заглавных букв к option + shift?
Том Гевеке

Ответы:


1

Получил все это из более поздних сообщений Бретта Терпстры , так что это полная заслуга ему.

Используя Karabiner Elements и BetterTouchTool , вы можете создать «Гипер» ключ, сопоставленный с командой control-option-shift-command (который, вероятно, не будет использоваться никакими приложениями в качестве модификатора по умолчанию). Затем вы можете использовать BetterTouchTool для сопоставления Cap Locks + "a" для ввода "=". Ввод «а» сам по себе все еще получает букву «а». Вы также можете настроить его так, чтобы касание только Cap Capcks функционировало в качестве клавиши выхода или даже в качестве стандартного Caps Lock.

Вместо того, чтобы перепостить код Бретта здесь, я сошлюсь на пост: Гипер-ключ с элементами Карабинера, полные инструкции .

Некоторые скриншоты, чтобы помочь вам:

Панель Модификаций Комплексных Элементов Карабинера После добавления кода Бретта в karabiner.json панель сложных модификаций будет выглядеть так. Нет необходимости делать что-то еще здесь.

Панель клавиатуры BetterTouchTool В BetterTouchTool переключитесь на панель клавиатуры , добавьте ярлык, введите Caps Lock + символ, а затем выберите «Вставить / Тип / Вставить пользовательский текст» в качестве предопределенного действия триггера.

Вставить / Тип / Вставить пользовательский текстовый лист На листе « Вставить / Тип / Вставить пользовательский текст» введите нужные символы и выберите «Вставить текст путем ввода».


Не понимал, сколько лет было этому вопросу. Он появился на первой странице одного из вариантов сортировки.
Брюс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.