1 /** ADAMEm: Coleco ADAM emulator ********************************************/
2 /**                                                                        **/
3 /**                                   X.h                                  **/
4 /**                                                                        **/
5 /** This file contains X-Windows specific definitions. It does not include **/
6 /** the sound emulation definitions                                        **/
7 /**                                                                        **/
8 /** Copyright (C) Marcel de Kogel 1996,1997,1998,1999                      **/
9 /**     You are not allowed to distribute this software commercially       **/
10 /**     Please, notify me, if you make any changes to this file            **/
11 /****************************************************************************/
12 
13 /* Screen width and height */
14 #define WIDTH  256
15 #define HEIGHT 212
16 
17 extern byte *DisplayBuf;          /* Screen buffer                          */
18 extern char szJoystickFileName[]; /* File holding joystick information      */
19 extern char szSnapshotFile[];     /* Next snapshot file                     */
20 extern char *szKeys;              /* Key scancodes                          */
21 extern int  mouse_sens;           /* Mouse/Joystick sensitivity             */
22 extern int  keypadmode;           /* 1 if keypad should be reversed         */
23 extern int  joystick;             /* Joystick support                       */
24 extern int  calibrate;            /* Set to 1 to force joystick calibration */
25 extern int  swapbuttons;          /* 1=joystick, 2=keyboard, 4=mouse        */
26 extern int  expansionmode;        /* Expansion module emulated              */
27 extern int  syncemu;              /* 0 if emulation shouldn't be synced     */
28 extern int  SaveCPU;              /* If 1, CPU is saved when focus is out   */
29 extern int  videomode;            /* 0=1x1  1=2x1                           */
30 #ifdef MITSHM
31 extern int  UseSHM;               /* Should we use SHM extensions ?         */
32 #endif
33 
34 #define NR_KEYS		512
35 
36 #define SCANCODE_LEFTCONTROL		(XK_Control_L&511)
37 #define SCANCODE_RIGHTCONTROL		(XK_Control_R&511)
38 #define SCANCODE_INSERT			(XK_Insert&511)
39 #define SCANCODE_HOME			(XK_Home&511)
40 #define SCANCODE_PAGEUP			(XK_Page_Up&511)
41 #define SCANCODE_REMOVE			(XK_Delete&511)
42 #define SCANCODE_END			(XK_End&511)
43 #define SCANCODE_PAGEDOWN		(XK_Page_Down&511)
44 #define SCANCODE_CAPSLOCK		(XK_Caps_Lock&511)
45 #define SCANCODE_F1			(XK_F1&511)
46 #define SCANCODE_F2			(XK_F2&511)
47 #define SCANCODE_F3			(XK_F3&511)
48 #define SCANCODE_F4			(XK_F4&511)
49 #define SCANCODE_F5			(XK_F5&511)
50 #define SCANCODE_F6			(XK_F6&511)
51 #define SCANCODE_F7			(XK_F7&511)
52 #define SCANCODE_F8			(XK_F8&511)
53 #define SCANCODE_F9			(XK_F9&511)
54 #define SCANCODE_F10			(XK_F10&511)
55 #define SCANCODE_F11			(XK_F11&511)
56 #define SCANCODE_F12			(XK_F12&511)
57 #define SCANCODE_LEFTSHIFT		(XK_Shift_L&511)
58 #define SCANCODE_RIGHTSHIFT		(XK_Shift_R&511)
59 #define SCANCODE_KEYPAD0		(XK_KP_0&511)
60 #define SCANCODE_KEYPAD1		(XK_KP_1&511)
61 #define SCANCODE_KEYPAD2		(XK_KP_2&511)
62 #define SCANCODE_KEYPAD3		(XK_KP_3&511)
63 #define SCANCODE_KEYPAD4		(XK_KP_4&511)
64 #define SCANCODE_KEYPAD5		(XK_KP_5&511)
65 #define SCANCODE_KEYPAD6		(XK_KP_6&511)
66 #define SCANCODE_KEYPAD7		(XK_KP_7&511)
67 #define SCANCODE_KEYPAD8		(XK_KP_8&511)
68 #define SCANCODE_KEYPAD9		(XK_KP_9&511)
69 #define SCANCODE_KEYPADPERIOD		(XK_KP_Decimal&511)
70 #define SCANCODE_KEYPADENTER		(XK_KP_Enter&511)
71 #define SCANCODE_KEYPADPLUS		(XK_KP_Add&511)
72 #define SCANCODE_KEYPADMINUS		(XK_KP_Subtract&511)
73 #define SCANCODE_CURSORLEFT		(XK_KP_Left&511)
74 #define SCANCODE_CURSORBLOCKLEFT	(XK_Left&511)
75 #define SCANCODE_CURSORRIGHT		(XK_KP_Right&511)
76 #define SCANCODE_CURSORBLOCKRIGHT	(XK_Right&511)
77 #define SCANCODE_CURSORUP		(XK_KP_Up&511)
78 #define SCANCODE_CURSORBLOCKUP		(XK_Up&511)
79 #define SCANCODE_CURSORDOWN		(XK_KP_Down&511)
80 #define SCANCODE_CURSORBLOCKDOWN	(XK_Down&511)
81 #define SCANCODE_0			(XK_0&511)
82 #define SCANCODE_1			(XK_1&511)
83 #define SCANCODE_2			(XK_2&511)
84 #define SCANCODE_3			(XK_3&511)
85 #define SCANCODE_4			(XK_4&511)
86 #define SCANCODE_5			(XK_5&511)
87 #define SCANCODE_6			(XK_6&511)
88 #define SCANCODE_7			(XK_7&511)
89 #define SCANCODE_8			(XK_8&511)
90 #define SCANCODE_9			(XK_9&511)
91 #define SCANCODE_EQUAL			(XK_equal&511)
92 #define SCANCODE_MINUS			(XK_minus&511)
93 #define SCANCODE_LEFTALT		(XK_Alt_L&511)
94 #define SCANCODE_RIGHTALT		(XK_Alt_R&511)
95 
96