Man Linux: Main Page and Category List

NAME

       XkbResizeKeyActions - Change the number of actions bound to a key

SYNOPSIS

       XkbAction * XkbResizeKeyActions (XkbDescRec *xkb, int key, int needed);

ARGUMENTS

       - xkb  keyboard description to change

       - key  keycode of key to change

       - needed
              new number of actions required

DESCRIPTION

       The xkb parameter points to the keyboard description containing the key
       whose  number  of  actions  is  to be changed. The key parameter is the
       keycode of the key to change, and needed specifies the  new  number  of
       actions required for the key.

       XkbResizeKeyActions  reserves  the  space  needed  for  the actions and
       returns a pointer to the beginning of the  new  array  that  holds  the
       actions.  It  can  change  the  acts, num_acts, and size_acts fields of
       xkb->server if it is necessary to reallocate the acts array.

       If needed is greater than the current number of keysyms  for  the  key,
       XkbResizeKeyActions  initializes  all  new  actions  in  the  array  to
       NoAction.

       Because the number of actions needed by a key is normally  computed  as
       width  *  number  of  groups,  and  XkbResizeKeyActions does not modify
       either the width or number of groups for the key, a discrepancy  exists
       on  return from XkbResizeKeyActions between the space allocated for the
       actions and the number required. The unused  entries  in  the  list  of
       actions returned by XkbResizeKeyActions are not preserved across future
       calls to any of the map editing functions, so you must update  the  key
       actions  (which  updates  the  width  and number of groups for the key)
       before   calling   another    allocator    function.    A    call    to
       XkbChangeTypesOfKey updates these.

       If  any  allocation  errors  occur while resizing the number of actions
       bound to the key, XkbResizeKeyActions returns NULL.

SEE ALSO

       XkbChangeTypesOfKey(3), XkbResizeKeySyms(3)

NOTES

       A change to the number of actions bound to a key should be  accompanied
       by  a  change  in  the  number  of  symbols  bound  to  a key. Refer to
       XkbResizeKeySyms for more information on changing the number of symbols
       bound to a key.