### Function

# Gtk.accelerator_parse_with_keycode

#### Declaration [src]

    gboolean
    gtk_accelerator_parse_with_keycode (
      const char* accelerator,
      GdkDisplay* display,
      guint* accelerator_key,
      guint** accelerator_codes,
      GdkModifierType* accelerator_mods
    )

#### Description [src]

Parses a string representing an accelerator.

This is similar to `gtk_accelerator_parse()` but handles keycodes as well. This is only useful for system-level components, applications should use `gtk_accelerator_parse()` instead.

If `accelerator_codes` is given and the result stored in it is non-`NULL`, the result must be freed with `g_free()`.

If a keycode is present in the accelerator and no `accelerator_codes` is given, the parse will fail.

If the parse fails, `accelerator_key`, `accelerator_mods` and `accelerator_codes` will be set to 0 (zero).

#### Parameters

`accelerator` | `const char*`
| string representing an accelerator
| Ownership is not transferred to the callee
| The string is a NUL terminated UTF-8 string
`display` | `GdkDisplay*`
| the `GdkDisplay` to look up `accelerator_codes` in
| Can be `NULL`
| Ownership is not transferred to the callee
`accelerator_key` | `guint*`
| return location for accelerator keyval, or `NULL`
| Direction: out
| Ownership of the data is transferred to the callee
`accelerator_codes` | An array of `guint*`
    return location for accelerator keycodes, or `NULL`
| Direction: out
| Ownership of the data is transferred to the callee
`accelerator_mods` | `GdkModifierType*`
| return location for accelerator modifier mask, `NULL`
| Direction: out
| Ownership of the data is transferred to the callee

#### Return value

Returns: `gboolean`
`TRUE` if parsing succeeded