2

I'd like holding two home row letters to translate to holding a modifier.

F+D = Ctrl
F+S = Cmd
F+A = Alt
F+D+S = Ctrl+Cmd

The idea is taken from this post which also describes how to do it using QMK firmware.

My attempt was:

{
            "complex_modifications": {
                "parameters": {
                    "basic.simultaneous_threshold_milliseconds": 50,
                    "basic.to_delayed_action_delay_milliseconds": 500,
                    "basic.to_if_alone_timeout_milliseconds": 1000,
                    "basic.to_if_held_down_threshold_milliseconds": 500,
                    "mouse_motion_to_scroll.speed": 100
                },
                "rules": [
                    {
                        "description": "",
                        "manipulators": [
                            {
                                "from": {
                                    "key_code": "a",
                                    "simultaneous": [
                                        {
                                            "key_code": "s"
                                        }
                                    ]
                                },
                                "to_if_held_down": [
                                    {
                                        "modifiers": [
                                            "left_gui"
                                        ],
                                        "repeat": true
                                    }
                                ],
                                "type": "basic"
                            }
                        ]
                    }
                ]
            }
...
        }

Just now I've also tried:

{
            "description": "",
            "manipulators": [
              {
                "from": {
                  "simultaneous": [
                    {

                      "key_code": "a"
                    },
                    {
                      "key_code": "s"
                    }
                  ]
                },
                "to_if_held_down": [
                  {
                    "modifiers": [
                      "left_gui"
                    ],
                    "repeat": true
                  }
                ],
                "type": "basic"
              }
            ]
          }
4
  • Are you aware that those mods are only possible on the Atreus keyboard that is designed with a customizable firmware that facilitates these types of mods?
    – Allan
    Commented Mar 12, 2023 at 0:10
  • The post describes the approach using customizable hardware, I was hoping that it can be done with Karabiner as well.
    – sumek
    Commented Mar 12, 2023 at 17:11
  • Right now this lacks any research. What have you tried so far yourself to set it up?
    – nohillside
    Commented Mar 20, 2023 at 10:01
  • Added what I thought could have worked
    – sumek
    Commented Mar 20, 2023 at 14:55

1 Answer 1

2

I've been trying this based on the same link as you, this is what I ended up with that works for me:

 {
  "description": "Press F and D together to act as Command",
  "manipulators": [
    {
      "type": "basic",
      "from": {
        "simultaneous": [
          {"key_code": "f"},
          {"key_code": "d"}
        ],
        "simultaneous_options": {
          "detect_key_down_uninterruptedly": true,
          "key_down_order": "insensitive",
          "key_up_order": "insensitive",
          "to_after_key_up": []
        }
      },
      "to": [
        {"key_code": "left_command"}
      ],
      "parameters": {
        "basic.simultaneous_threshold_milliseconds": 50
      }
    }
  ]
}
1
  • I've imported it into my Karabiner as a complex rule, but can't see it working in any way. I can see f and d printed to the terminal. If I hold them down, one of the letters get printed repeatedly. I did check that keyboards I'm using have Modify events enabled. What am I missing?
    – sumek
    Commented Feb 21 at 23:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .