1

Ситуация

Я использую раскладку клавиатуры под названием 3l (три раскладки), которая является раскладкой клавиатуры. Вот основной слой (поведение, когда не нажимаются клавиши-модификаторы):

нормальный 3л макет

Теперь, когда я удерживаю '' на обычной клавиатуре (sym в 3l), я нахожусь в режиме "символов", а остальная клавиатура ведет себя по-другому. Вот изображение этого режима:

слой символов 3л

По сути, эта клавиша символов похожа на специальный Shift, который позволяет мне получать доступ к специальным символам.

Кроме того, у меня есть слой чисел, который имеет тот же эффект, что и слой символов, и активируется клавишей / , но вместо этого имеет элементы управления курсором и цифровой панелью:


Человек, от которого я забыл свой макет, уже получил макет, работающий в Linux и Windows (используя AutoHotKey). Я пытаюсь портировать его на macOS. До сих пор я создал файл 3l.keylayout (см. Его здесь), и у меня работают базовые функции.

Что работает

  1. Клавиши в обычном режиме работают нормально.
  2. Если я нажимаю клавишу модификатора символа, первый нажатый символ выводится как правильный символ. Например, если я нажимаю символьную клавишу, а затем выводится O, / .
  3. То же самое относится к клавише cur/num для вывода на цифровую панель.

Что не работает

  1. Если я нажимаю и удерживаю клавишу модификатора символа и набираю несколько символов, только первый выводит символ. (То же самое относится и к клавише cur/num.)
  2. Если я нажимаю и отпускаю одну из клавиш-модификаторов, а затем нажимаю другую клавишу, выводится символ / число. Это не должно быть так. Когда я отпускаю клавишу-модификатор, я хочу, чтобы она вернулась в обычный режим (так же, как клавиша Shift ).
  3. Клавиши управления курсором не работают надежно во всех приложениях, и у них также есть проблема, не позволяющая повторять клавиши, когда они работают.

Мой вопрос

Есть ли способ для меня получить функциональность, описанную выше в macOS (Sierra и позже)?

Примечание: Кроме того, я пытался перераспределить / к правой опции и право управления с помощью карабина элементов , а затем попытался создать новую keymap в 3l.keylayout , который активируется с помощью этих ключей. Это не сработало, однако. Он все испортил, и я попал в постоянную ситуацию с ключом управления / опцией.

1 ответ1

0

Я смог решить эту проблему с помощью сложных модификаций Karabiner-Elements .

Вот мой полный файл karabiner.json .

Под profiles -> rules -> manipulators я добавил два манипулятора. Один для sym и один для cur .

Я скопировал sym манипулятор ниже:

{
    "conditions": [

            "name": "sym",
            "type": "variable_if",
            "value": 0
        },
        {
            "name": "cur",
            "type": "variable_if",
            "value": 0
        }
    ],
    "from": {
        "key_code": "quote",
        "modifiers": {
            "optional": [
                "any"
            ]
        }
    },
    "to": [
        {
            "set_variable": {
                "name": "sym",
                "value": 1
            }
        }
    ],
    "to_after_key_up": [
        {
            "set_variable": {
                "name": "sym",
                "value": 0
            }
        }
    ],
    "type": "basic"
}

Затем я прошел через все настройки клавиш, т.е. когда клавиша нажата без модификатора, модификатора sym и модификатора cur .

Это работает без нареканий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .