XkbSAScreen(3) Returns the screenXXX field of act converted to a signed int


int XkbSAScreen (XkbSwitchScreenAction act);


- act
action from which to extract screen


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.

XkbSAScreen macro returns the screenXXX field of act converted to a signed int.


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


The XkbSwitchScreen 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.