XkbResizeKeyActions(3)



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.




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business