Not possible to disable a command shortcut anymore?

For obscure reasons (I’m using a custom keyboard layout which remap these to < and >), I need Alt+K and Alt+L (resp. Option+K and Option+L on Mac) to not be a shortcut.

In v1, I could use the following config to disable those shortcuts:

- shortcuts:
  - command: "Outline: Move Left"
    key: ""

If I do the same with v2, this is a no-op using the following code, and using Alt+K will always call the command Outline: Move Left.

config.set {
  shortcuts = {
    {
      command = "Outline: Move Right",
      key = "",
      mac = ""
    }
  }
}

Is there another way to remove an existing default keybinding? If not, can we add one please? (EIBTI, so I’d suggest config.delete(keybinding) or something along those lines)

This is a regression, just created a github issue for it: Disabling shortcuts no longer supported · Issue #1350 · silverbulletmd/silverbullet · GitHub

2 Likes

I am trying to do something similar in disabling the Outline Up/Down shortcuts. My config has the following script:

config.set {
  plugs = {
    -- Add your plugs here (https://silverbullet.md/Plugs)
    -- Then run the `Plugs: Update` command to update them
  },  
  shortcuts = {
    {
      command = "Outline: Move Up",
      key = "",
      mac = ""
    },
    {
      command = "Outline: Move Down",
      key = "",
      mac = ""
    }
  }
}

But after reloading, the shortcuts still remain unchanged.

Context: 
Version: v2-edge
Release date: 2025-07-26
OS: Windows + Docker
Scripts: None / New space

Edit:

After posting, I was looking through the libraries for other reasons, and found the following page: Library/Std/Command which includes a command.update() function.

I am able to achieve what I want using this script:

command.update {
  name = "Outline: Move Up",
  key = nil,
  mac = nil,
}
command.update {
  name = "Outline: Move Down",
  key = nil,
  mac = nil,
}