XkbSASetScreen (3) - Linux Manuals

XkbSASetScreen: Sets the screenXXX field of act from s


XkbSASetScreen - Sets the screenXXX field of act from s


void XkbSASetScreen (XkbSwitchScreenAction act, int s);


- act
action in which to set screenXXX
- s
value to set in screenXXX


Actions associated with the XkbSwitchScreen action structure change the active screen on a multiscreen display.

The type field of the XkbSwitchScreenAction structure should always be XkbSA_SwitchScreen.

The flags field is composed of the bitwise inclusive OR of the masks shown in Table 1.

Table 1 Switch Screen Action Flags


XkbSA_SwitchAbsolute If set, the screenXXX field represents the index of the new screen. Otherwise, it represents an offset from the current screen to the new screen.
XkbSA_SwitchApplication If not set, the action should switch to another screen on the same server. Otherwise, it should switch to another X server or application that shares the same physical display.

The screenXXX field is a signed character value that represents either the relative or absolute screen index, depending on the state of the XkbSA_SwitchAbsolute bit in the flags field. Xkb provides the following macros to convert between the integer and signed character value for screen numbers in XkbSwitchScreenAction structures.


    typedef struct _XkbSwitchScreenAction {
        unsigned char    type;        /* XkbSA_SwitchScreen */
        unsigned char    flags;       /* controls screen switching */
        char             screenXXX;   /* screen number or delta */
    } XkbSwitchScreenAction;


This action is optional. Servers are free to ignore the action or any of its flags if they do not support the requested behavior. If the action is ignored, it behaves like XkbSA_NoAction. Otherwise, key press and key release events do not generate an event.