unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

XkbSARedirectSetVMods(3)         XKB FUNCTIONS        XkbSARedirectSetVMods(3)



NAME
       XkbSARedirectSetVMods - Sets the vmods0 and vmods1 of act from v

SYNOPSIS
       void XkbSARedirectSetVMods macro ( act, v )
             XkbRedirectKeyAction act;
             unsigned int v;

ARGUMENTS
       - act  action in which to set vmods

       - v    new value for virtual modifiers

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 defi-
       nitions specify conflicting values for a single modifier, the real mod-
       ifier 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  con-
       sists  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 cate-
       gorizes 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 for-
       mats.


       XkbSARedirectSetVModsMask sets the vmods0 and vmods1 of act from v.

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;




X Version 11                     libX11 1.1.5         XkbSARedirectSetVMods(3)