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
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to the Power Users community on Codidact!

Power Users is a Q&A site for questions about the usage of computer software and hardware. We are still a small site and would like to grow, so please consider joining our community. We are looking forward to your questions and answers; they are the building blocks of a repository of knowledge we are building together.

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?

History
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.

History
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 »