### 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.
| The data is owned by the caller of the function.
| The string is a NUL terminated UTF-8 string.
`display` | `GdkDisplay*`
| The `GdkDisplay` to look up `accelerator_codes` in.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`accelerator_key` | `guint*`
| Return location for accelerator keyval.
| The argument will be set by the function.
| The argument can be `NULL`.
| The called function takes ownership of the data, and is responsible for freeing it.
`accelerator_codes` | An array of `guint*`
| return location for accelerator keycodes.
| The argument will be set by the function.
| The argument can be `NULL`.
| The called function takes ownership of the data, and is responsible for freeing it.
`accelerator_mods` | `GdkModifierType*`
| Return location for accelerator modifier mask.
| The argument will be set by the function.
| The argument can be `NULL`.
| The called function takes ownership of the data, and is responsible for freeing it.

#### Return value

Returns: | `gboolean`
| `TRUE` if parsing succeeded.