Man Linux: Main Page and Category List

NAME

       XkbSARedirectSetVModsMask - Sets the vmods_mask0 and vmods_mask1 fields
       of act from vm

SYNOPSIS

       void XkbSARedirectSetVModsMask (XkbRedirectKeyAction act, unsigned  int
              vm);

ARGUMENTS

       - act  action in which to set vmods

       - vm   new value for virtual modifier mask

DESCRIPTION

       Actions  associated  with  the  XkbRedirectKeyAction structure generate
       KeyPress and KeyRelease events containing a keycode different from  the
       key that was pressed or released.

       The  type field for the XkbRedirectKeyAction structure should always be
       XkbSA_RedirectKey.  Key presses cause a  KeyPress  event  for  the  key
       specified  by  the  new_key  field instead of the actual key. The state
       reported in this event reports the current effective modifiers  changed
       as  follows: any real modifiers selected by the mods_mask field are set
       to corresponding values from the mods field. Any real  modifiers  bound
       to  the  virtual modifiers specified by the vmods_mask0 and vmods_mask1
       fields are either set or cleared, depending on the corresponding values
       in  the  vmods0  and  vmods1  fields.  If the real and virtual modifier
       definitions specify conflicting values for a single modifier, the  real
       modifier definition has priority.

       Key  releases  cause  a  KeyRelease  event for the key specified by the
       new_key field instead of the actual  key.  The  state  for  this  event
       consists  of  the  effective  keyboard  modifiers  at  the  time of the
       release, changed as described previously.

       The XkbSA_RedirectKey action normally redirects to another key  on  the
       same  device  as the key that caused the event, unless that device does
       not belong to the input extension KeyClass, in which case  this  action
       causes  an  event  on  the  core  keyboard device. (The input extension
       categorizes devices by breaking them into classes. Keyboards, and other
       input  devices  with  keys,  are  classified as KeyClass devices by the
       input extension.)

       The  vmods_mask0  and  vmods_mask1  fields   actually   represent   one
       vmods_mask  value.  Xkb  provides  macros  to  convert  between the two
       formats.

       XkbSARedirectSetVModsMask sets the vmods_mask0 and  vmods_mask1  fields
       of act from vm.

STRUCTURES

           typedef struct_XkbRedirectKeyAction {
               unsigned char   type;        /∗ XkbSA_RedirectKey */
               unsigned char   new_key;     /∗ keycode to be put in event */
               unsigned char   mods_mask;   /∗ mask of real mods to be reset */
               unsigned char   mods;        /∗ mask of real mods to take values from */
               unsigned char   vmods_mask0; /∗ first half of mask of virtual mods to be
       reset */
               unsigned char   vmods_mask1; /∗ other half of mask of virtual mods to be
       reset */
               unsigned char   vmods0;      /∗ first half of mask of virtual mods to
       take values from */
               unsigned char   vmods1;      /∗ other half of mask of virtual mods to
       take values from */
           } XkbRedirectKeyAction;