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;