Example #1
0
/*ARGSUSED*/
static Bool
CopySwitchScreenArgs(XkbDescPtr xkb,XkbAction *action,char *buf,
								int *sz)
{
XkbSwitchScreenAction *	act;
char			tbuf[32];

    act= &action->screen;
    if ((act->flags&XkbSA_SwitchAbsolute)||(XkbSAScreen(act)<0))
	 sprintf(tbuf,"screen=%d",XkbSAScreen(act));
    else sprintf(tbuf,"screen=+%d",XkbSAScreen(act));
    TryCopyStr(buf,tbuf,sz);
    if (act->flags&XkbSA_SwitchApplication)
	 TryCopyStr(buf,",!same",sz);
    else TryCopyStr(buf,",same",sz);
    return True;
}
Example #2
0
int
XkbDDXSwitchScreen(DeviceIntPtr dev, KeyCode key, XkbAction *act)
{
    int vtnum = XkbSAScreen(&act->screen);

    if (!kdOsFuncs->SwitchVT)
        return 1;

    if (act->screen.flags & XkbSA_SwitchApplication) {
        if (act->screen.flags & XkbSA_SwitchAbsolute)
            (*kdOsFuncs->SwitchVT) (KD_VT_ABSOLUTE, vtnum);
        else
            (*kdOsFuncs->SwitchVT) (KD_VT_RELATIVE, vtnum);
    }

    return 0;
}
Example #3
0
int
XkbDDXSwitchScreen(DeviceIntPtr dev,KeyCode key,XkbAction *act)
{
#ifdef XF86DDXACTIONS
    {
	int scrnnum = XkbSAScreen(&act->screen);

	if (act->screen.flags & XkbSA_SwitchApplication) {
	    if (act->screen.flags & XkbSA_SwitchAbsolute)
		xf86ProcessActionEvent(ACTION_SWITCHSCREEN,(void *) &scrnnum);
	    else {
		if (scrnnum < 0)
		    xf86ProcessActionEvent(ACTION_SWITCHSCREEN_PREV,NULL);
		else
		    xf86ProcessActionEvent(ACTION_SWITCHSCREEN_NEXT,NULL);
	    }
	}
    }
#endif
    return 1;
}