Кнопка мыши как модификатор - PullRequest
0 голосов
/ 12 декабря 2018

Я хотел бы использовать кнопку мыши в качестве модификатора, когда я нажимаю другую кнопку.

Я нашел это https://github.com/tekezo/Karabiner-Elements/issues/1223, но оно было закрыто из-за неактивности.

Я пытался использовать одновременный в определении from, но он не работает.

{
    "description": "Maps button6 and button3 to close action (cmd-w)",
    "manipulators": [
        {
            "from": {
                "modifiers": [
                    {
                        "pointing_button": "button6"
                    }
                ],
                "pointing_button": "button3"
            },
            "to": [
                {
                    "key_code": "w",
                    "modifiers": [
                        "left_command"
                    ],
                    "repeat": false
                }
            ],
            "type": "basic"
        }
    ]
}

Есть идеи, как это сделать?

edit:

Я закончилчтобы сделать это следующим образом:

{
    "description": "Maps button2 to close action (cmd-w) when button6 is pressed",
    "manipulators": [
        {
            "conditions": [
                {
                    "type": "variable_if",
                    "name": "button6_down",
                    "value": 1
                }
            ],
            "from": {
                "pointing_button": "button2"
            },
            "to": [
                {
                    "key_code": "w",
                    "modifiers": [
                        "left_command"
                    ],
                    "repeat": false
                }
            ],
            "type": "basic"
        }
    ]
},
{
    "description": "Maps button6 to variable",
    "manipulators": [
        {
            "from": {
                "pointing_button": "button6"
            },
            "to": [
                {

                    "set_variable": {
                        "name": "button6_down",
                        "value": 1
                    }
                }
            ],
            "to_after_key_up": [
                {

                    "set_variable": {
                        "name": "button6_down",
                        "value": 0
                    }
                }
            ],
            "type": "basic"
        }
    ]
}

to_after_key_up, очевидно, работает и для кнопок мыши

1 Ответ

0 голосов
/ 12 декабря 2018

Я думаю, что "одновременный" по-прежнему ожидает одновременного обнаружения двух "падений", что я сомневаюсь, что могут быть две кнопки мыши - но я могу ошибаться в этом.
[РЕДАКТИРОВАТЬ: EventViewer заставил меня понять, что 2 кнопки мыши могут быть нажаты одновременно.Но я использую мышь с 2 кнопками;"button1" не будет переназначен KE, поэтому я не могу проверить ваш случай.]

Если две кнопки мыши действительно НЕ распознаются как "одновременные" , вы можетепопробуйте это:

Определите переменную "mb3_down", которая установлена ​​в "1" с помощью button_3 while, во втором манипуляторе, button_6 (если "mb3_down" = 1) сначала должен вызвать Cmd-W, а затем сбросить «mb3_down» на «0».Я считаю, что это должно работать.

Я бы порекомендовал добавить «to_delayed_action», которое, скажем, через 2 секунды, в любом случае сбрасывает «mb3_down» (в противном случае в следующий раз, когда вы будете использовать button_6 самостоятельноможет неожиданно закрыть окно).

...