Commit | Line | Data |
---|---|---|
a09e091a JB |
1 | /************************************************************ |
2 | Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. | |
3 | ||
4 | Permission to use, copy, modify, and distribute this | |
5 | software and its documentation for any purpose and without | |
6 | fee is hereby granted, provided that the above copyright | |
7 | notice appear in all copies and that both that copyright | |
8 | notice and this permission notice appear in supporting | |
9 | documentation, and that the name of Silicon Graphics not be | |
10 | used in advertising or publicity pertaining to distribution | |
11 | of the software without specific prior written permission. | |
12 | Silicon Graphics makes no representation about the suitability | |
13 | of this software for any purpose. It is provided "as is" | |
14 | without any express or implied warranty. | |
15 | ||
16 | SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS | |
17 | SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY | |
18 | AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON | |
19 | GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL | |
20 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, | |
21 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE | |
22 | OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH | |
23 | THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
24 | ||
25 | ********************************************************/ | |
26 | ||
27 | #ifdef HAVE_DIX_CONFIG_H | |
28 | #include <dix-config.h> | |
29 | #endif | |
30 | ||
31 | #ifdef HAVE_XORG_CONFIG_H | |
32 | #include <xorg-config.h> | |
33 | #endif | |
34 | ||
35 | #include <stdio.h> | |
36 | #include <X11/X.h> | |
37 | #include <X11/Xproto.h> | |
38 | #include <X11/keysym.h> | |
39 | #include "inputstr.h" | |
40 | #include "scrnintstr.h" | |
41 | #include "windowstr.h" | |
42 | #include <xkbsrv.h> | |
43 | #include <X11/extensions/XI.h> | |
44 | ||
45 | #include "xf86.h" | |
46 | ||
47 | int | |
48 | XkbDDXSwitchScreen(DeviceIntPtr dev, KeyCode key, XkbAction *act) | |
49 | { | |
50 | int scrnnum = XkbSAScreen(&act->screen); | |
51 | ||
52 | if (act->screen.flags & XkbSA_SwitchApplication) { | |
53 | if (act->screen.flags & XkbSA_SwitchAbsolute) | |
54 | xf86ProcessActionEvent(ACTION_SWITCHSCREEN, (void *) &scrnnum); | |
55 | else { | |
56 | if (scrnnum < 0) | |
57 | xf86ProcessActionEvent(ACTION_SWITCHSCREEN_PREV, NULL); | |
58 | else | |
59 | xf86ProcessActionEvent(ACTION_SWITCHSCREEN_NEXT, NULL); | |
60 | } | |
61 | } | |
62 | ||
63 | return 1; | |
64 | } |