使用 Karabiner Elements,如何将 WASD 键切换为箭头键。仅当大写锁定处于活动状态时?

epe*_*cho 7 element karabiner

喜欢这个程序并感谢任何帮助

正如标题所述,我的左手一直放在 SHIFT 键、OPTION 键和 COMMAND 键上。但我讨厌必须使用箭头键来移动形状。我希望能够将 WASD 更改为箭头键来微移周围的形状。这也允许小指按下左 SHIFT 键,这样我就可以一次移动形状 10 像素。但是,我希望能够通过按下 Caps Lock 并按住直到松开来切换到箭头功能。这样做将使我能够在构建/UI 时更多地使用热键。

总结一下:

  1. 计划活跃
  2. 大写锁定关闭时键盘处于默认状态
  3. 当大写锁定打开时,我可以使用 WASD 作为箭头键
  4. 一旦我按下大写锁定键,按键将返回到默认状态。

非常感谢你们为我提供的任何帮助。希望这个问题已经得到解决并且很容易解决

Jan*_*ano 5

这对我有用:

\n\n
{\n    "description": "WASD arrow Keys toggled by Capslock",\n    "manipulators": [\n        {\n            "conditions": [\n                {\n                    "name": "wasd_arrow_keys_mode",\n                    "type": "variable_unless",\n                    "value": 1\n                }\n            ],\n            "from": {\n                "key_code": "caps_lock",\n                "modifiers": {\n                    "optional": [\n                        "any"\n                    ]\n                }\n            },\n            "to": [\n                {\n                    "set_variable": {\n                        "name": "wasd_arrow_keys_mode",\n                        "value": 1\n                    }\n                }\n            ],\n            "type": "basic"\n        },\n        {\n            "conditions": [\n                {\n                    "name": "wasd_arrow_keys_mode",\n                    "type": "variable_if",\n                    "value": 1\n                }\n            ],\n            "from": {\n                "key_code": "caps_lock",\n                "modifiers": {\n                    "optional": [\n                        "any"\n                    ]\n                }\n            },\n            "to": [\n                {\n                    "set_variable": {\n                        "name": "wasd_arrow_keys_mode",\n                        "value":  0\n                    }\n                }\n            ],\n            "type": "basic"\n        },\n        {\n            "conditions": [\n                {\n                    "name": "wasd_arrow_keys_mode",\n                    "type": "variable_if",\n                    "value": 1\n                }\n            ],\n            "from": {\n                "key_code": "a",\n                "modifiers": {\n                    "optional": [\n                        "any"\n                    ]\n                }\n            },\n            "to": [\n                {\n                    "key_code": "left_arrow"\n                }\n            ],\n            "type": "basic"\n        },\n        {\n            "conditions": [\n                {\n                    "name": "wasd_arrow_keys_mode",\n                    "type": "variable_if",\n                    "value": 1\n                }\n            ],\n            "from": {\n                "key_code": "s",\n                "modifiers": {\n                    "optional": [\n                        "any"\n                    ]\n                }\n            },\n            "to": [\n                {\n                    "key_code": "down_arrow"\n                }\n            ],\n            "type": "basic"\n        },\n        {\n            "conditions": [\n                {\n                    "name": "wasd_arrow_keys_mode",\n                    "type": "variable_if",\n                    "value": 1\n                }\n            ],\n            "from": {\n                "key_code": "w",\n                "modifiers": {\n                    "optional": [\n                        "any"\n                    ]\n                }\n            },\n            "to": [\n                {\n                    "key_code": "up_arrow"\n                }\n            ],\n            "type": "basic"\n        },\n        {\n            "conditions": [\n                {\n                    "name": "wasd_arrow_keys_mode",\n                    "type": "variable_if",\n                    "value": 1\n                }\n            ],\n            "from": {\n                "key_code": "d",\n                "modifiers": {\n                    "optional": [\n                        "any"\n                    ]\n                }\n            },\n            "to": [\n                {\n                    "key_code": "right_arrow"\n                }\n            ],\n            "type": "basic"\n        }\n    ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

"rules": []您可以将代码放在文件元素的括号内~/.config/karabiner/karabiner.json,或者在以下位置创建一个新的 JSON 文件~/.config/karabiner/assets/complex_modifications,将上面的代码包装在:

\n\n
{\n  "title": "WASD arrow Keys toggled by Capslock",\n  "rules": [\n    (insert code here)\n  ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您选择单独的 JSON 文件,保存后您可以通过 Karabiner-Elements UI 通过“复杂修改”>“添加规则”启用它。

\n\n

I\xe2\x80\x98m 使用 Karabiner beta 12.1.56 但它应该可以在 Karabiner 稳定版上工作。

\n\n

请注意,此脚本替换了大写锁定的功能,这意味着:它充当箭头键切换器,而不是大写键切换器。

\n\n

这是来自Karabiner 站点的脚本“TouchCursor Mode”的修改,该脚本在按下大写锁定时切换变量,然后根据该变量使用 WASD 作为键或箭头。与@user9680958 使用的技术类似。

\n


小智 0

{
                    "type": "basic",
                    "description": "",
                    "from": {
                        "key_code": "w",
                        "modifiers": {
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "key_code": "up_arrow"
                
                        }
                    ],
                    "conditions": [
                        {
                            "type": "variable_if",
                            "name": "caps_lock pressed",
                            "value": 1
                        }
                    ]
                },
{
                    "type": "basic",
                    "description": "",
                    "from": {
                        "key_code": "s",
                        "modifiers": {
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "key_code": "down_arrow"
                
                        }
                    ],
                    "conditions": [
                        {
                            "type": "variable_if",
                            "name": "caps_lock pressed",
                            "value": 1
                        }
                    ]
                },
{
                    "type": "basic",
                    "description": "",
                    "from": {
                        "key_code": "a",
                        "modifiers": {
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "key_code": "left_arrow"
                
                        }
                    ],
                    "conditions": [
                        {
                            "type": "variable_if",
                            "name": "caps_lock pressed",
                            "value": 1
                        }
                    ]
                },
{
                    "type": "basic",
                    "description": "",
                    "from": {
                        "key_code": "d",
                        "modifiers": {
                            "optional": [
                                "any"
                            ]
                        }
                    },
                    "to": [
                        {
                            "key_code": "right_arrow"
                
                        }
                    ],
                    "conditions": [
                        {
                            "type": "variable_if",
                            "name": "caps_lock pressed",
                            "value": 1
                        }
                    ]
                },
               {
                    "type": "basic",
                    "from": {
                        "key_code": "caps_lock",
                        "modifiers": {
                            "optional": [
                                "any"
                            ]
                        }
                    },
                
                    "to": [
                        {
                            "key_code": "caps_lock"
                        },
                    
                        {
                            "set_variable": {
                                "name": "caps_lock pressed",
                                "value": 0
                            }
                        }
                    ],
                    "conditions": [
                        {
                            "type": "variable_if",
                            "name": "caps_lock pressed",
                            "value": 1
                        }
                    ]
                
                },

                {
                    "type": "basic",
                    "from": {
                        "key_code": "caps_lock",
                        "modifiers": {
                            "optional": [
                                "any"
                            ]
                        }
                    },

                    "to": [
                        {
                            "key_code": "caps_lock"
                        }
                    ],
                    "to_if_alone": [
                        {
                            "set_variable": {
                                "name": "caps_lock pressed",
                                "value": 1
                            }
                        }
                    ]
                }
Run Code Online (Sandbox Code Playgroud)