¿Cómo/dónde crear un archivo de anulación de combinación de teclas personalizado de GNOME?

¿Cómo/dónde crear un archivo de anulación de combinación de teclas personalizado de GNOME?

He estado tratando de usargnomo-títerepara crear atajos de teclado personalizados, sin suerte. Tengo el siguiente esquema:

class keyboard_shortcuts {
  $schema_root = 'org.gnome.settings-daemon.plugins.media-keys'
  $custom_keybinding_schema = "${schema_root}.custom-keybinding"
  $first_key = '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/'
  $first_schema = "${custom_keybinding_schema}:${first_key}"

  gnome::gsettings { $schema_root:
    schema => $schema_root,
    key    => 'custom-keybindings',
    value  => [
      "'${first_key}'"
    ],
  }

  gnome::gsettings { "${custom_keybinding_schema}_name":
    schema => $first_schema,
    key    => 'name',
    value  => 'Terminal',
  }

  gnome::gsettings { "${custom_keybinding_schema}_command":
    schema => $first_schema,
    key    => 'command',
    value  => '/usr/bin/terminator',
  }

  gnome::gsettings { "${custom_keybinding_schema}_binding":
    schema => $first_schema,
    key    => 'binding',
    value  => '<Ctrl><Alt>T',
  }
}

Esto crea los siguientes archivos:

$ ls /usr/share/glib-2.0/schemas/25_*
/usr/share/glib-2.0/schemas/25_org.gnome.settings-daemon.plugins.media-keys.custom-keybinding_binding.gschema.override  /usr/share/glib-2.0/schemas/25_org.gnome.settings-daemon.plugins.media-keys.gschema.override
/usr/share/glib-2.0/schemas/25_org.gnome.settings-daemon.plugins.media-keys.custom-keybinding_command.gschema.override  '/usr/share/glib-2.0/schemas/25_Raise window on click.gschema.override'
/usr/share/glib-2.0/schemas/25_org.gnome.settings-daemon.plugins.media-keys.custom-keybinding_name.gschema.override
$ sudo cat /usr/share/glib-2.0/schemas/25_*
[org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/]
  binding = <Ctrl><Alt>T
[org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/]
  command = /usr/bin/terminator
[org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/]
  name = Terminal
[org.gnome.settings-daemon.plugins.media-keys]
  custom-keybindings = ['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
[org.gnome.desktop.wm.preferences]
  raise-on-click = true

Sin embargo, en el subprograma "Teclado" no veo este método abreviado de teclado. Si creo un método abreviado de teclado manualmente y aplico el manifiesto, ni siquiera se elimina el método abreviado existente. ¿Necesito crear las anulaciones en otro lugar? Lo intenté /usr/share/GConf/gsettingsporque parece un lugar más natural para este tipo de archivos, pero no lo hice.


También intenté usar un digestnombre del acceso directo en lugar de custom0. El esquema se compiló correctamente, pero aún no funciona:

$ strings /usr/share/glib-2.0/schemas/gschemas.compiled | grep custom-keybindings/
/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/514d8a494f087c0d549b9536c2ef3bd9/

Pregunta relacionada

Respuesta1

Parece que deberías usar gsettings. Verificaresta respuestapara detalles.

información relacionada