Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs

Dashboard
Notifications
Mark all as read
Q&A

Remapping backspace with Karabiner Elements

+1
−0

I'm using Karabiner-Elements to remap some keys.

I would like remap

  • backspace to forward delete

  • option + backspace to backward delete

To do this I tried to write the following rule and place the .json file in /Users/<username>/.config/karabiner/assets/complex_modifications, but the rule does not even show up in rule selection window.

rule selection window

{
  "title": "Swap backspace to forward delete",
  "rules": [
    {
      "description": "Backspace to Forward Delete",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "delete_or_backspace",
          },
          "to": [
            {
              "key_code": "delete_forward"
            }
          ]
        }
      ]
    },
    {
      "description": "Option + Backspace to Backspace",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "delete_or_backspace",
            "modifiers": {
              "mandatory":[
                "option"
              ]
            }            
          },
          "to": [
            {
              "key_code": "delete_backwards"
            }
          ]
        }
      ]
    }
  ]
}

Is there any syntax error in my rule or why doesn't it show up in the rule window?

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

1 answer

+2
−0

It does look like you have a syntax error in the JSON data.

Specifically, you have a comma after the last element of a list on line 11:

"from": {
  "key_code": "delete_or_backspace", <---- here
},
"to": [

At least jq (which is a very useful tool for doing all kinds of parsing of JSON data) calls that out as an error; when fed what's in your question as input, the output of jq . is simply:

parse error: Expected another key-value pair at line 11, column 11

(In the jq query syntax, a bare . represents the root element of the input; also, portions of the input matching the query are output. So jq . essentially says "print everything from the input".)

I can't try it in the software you're using, but removing the extraneous , at the end of line 11 makes jq accept the JSON as valid.

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

That was the culprit! Thanks a lot for finding this nasty little comma! (And thanks for the link to ... (5 comments)

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!