|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * Joystick, mouse and keyboard emulation prototypes and definitions
5: *
6: * Copyright 1995 Bernd Schmidt
7: * Copyright 2001-2002 Toni Wilen
8: */
9:
10:
1.1.1.2 ! root 11: #define IDTYPE_JOYSTICK 0
! 12: #define IDTYPE_MOUSE 1
! 13: #define IDTYPE_KEYBOARD 2
! 14:
! 15: struct inputdevice_functions {
! 16: int (*init)(void);
! 17: void (*close)(void);
! 18: int (*acquire)(int,int);
! 19: void (*unacquire)(int);
! 20: void (*read)(void);
! 21: int (*get_num)(void);
! 22: char* (*get_name)(int);
! 23: int (*get_widget_num)(int);
! 24: int (*get_widget_type)(int,int,char*,uae_u32*);
! 25: int (*get_widget_first)(int,int);
! 26: };
! 27: extern struct inputdevice_functions idev[3];
! 28: extern struct inputdevice_functions inputdevicefunc_joystick;
! 29: extern struct inputdevice_functions inputdevicefunc_mouse;
! 30: extern struct inputdevice_functions inputdevicefunc_keyboard;
! 31: extern int pause_emulation;
! 32:
! 33: struct uae_input_device_kbr_default {
! 34: int scancode;
! 35: int event;
! 36: };
! 37:
! 38: #define IDEV_WIDGET_NONE 0
! 39: #define IDEV_WIDGET_BUTTON 1
! 40: #define IDEV_WIDGET_AXIS 2
! 41: #define IDEV_WIDGET_KEY 3
! 42:
! 43: #define IDEV_MAPPED_AUTOFIRE_POSSIBLE 1
! 44: #define IDEV_MAPPED_AUTOFIRE_SET 2
! 45:
! 46: #define ID_BUTTON_OFFSET 0
! 47: #define ID_BUTTON_TOTAL 32
! 48: #define ID_AXIS_OFFSET 32
! 49: #define ID_AXIS_TOTAL 32
! 50:
! 51: extern int inputdevice_iterate (int devnum, int num, char *name, int *af);
! 52: extern int inputdevice_set_mapping (int devnum, int num, char *name, char *custom, int af, int sub);
! 53: extern int inputdevice_get_mapped_name (int devnum, int num, int *pflags, char *name, char *custom, int sub);
! 54: extern void inputdevice_copyconfig (struct uae_prefs *src, struct uae_prefs *dst);
! 55: extern void inputdevice_copy_single_config (struct uae_prefs *p, int src, int dst, int devnum);
! 56: extern void inputdevice_swap_ports (struct uae_prefs *p, int devnum);
! 57: extern void inputdevice_config_change (void);
! 58: extern int inputdevice_config_change_test (void);
! 59: extern int inputdevice_get_device_index (int devnum);
! 60: extern char *inputdevice_get_device_name (int type, int devnum);
! 61: extern int inputdevice_get_device_status (int devnum);
! 62: extern void inputdevice_set_device_status (int devnum, int enabled);
! 63: extern int inputdevice_get_device_total (int type);
! 64: extern int inputdevice_get_widget_num (int devnum);
! 65: extern int inputdevice_get_widget_type (int devnum, int num, char *name);
! 66:
! 67: extern void input_get_default_mouse (struct uae_input_device *uid);
! 68: extern void input_get_default_joystick (struct uae_input_device *uid);
! 69:
! 70: #define DEFEVENT(A, B, C, D, E, F) INPUTEVENT_ ## A,
! 71: enum inputevents {
! 72: INPUTEVENT_ZERO,
! 73: #include "inputevents.def"
! 74: INPUTEVENT_END
! 75: };
! 76: #undef DEFEVENT
! 77:
! 78: extern void handle_cd32_joystick_cia (uae_u8, uae_u8);
! 79: extern uae_u8 handle_parport_joystick (int port, uae_u8 pra, uae_u8 dra);
! 80: extern uae_u8 handle_joystick_buttons (uae_u8);
! 81: extern int getbuttonstate (int joy, int button);
! 82: extern int getjoystate (int joy);
! 83:
1.1 root 84: extern uae_u32 mousehack_helper (void);
85: extern int needmousehack (void);
86: extern int mousehack_alive (void);
1.1.1.2 ! root 87: extern int mousehack_allowed (void);
! 88:
! 89: extern void setmousebuttonstateall (int mouse, uae_u32 buttonbits, uae_u32 buttonmask);
! 90: extern void setjoybuttonstateall (int joy, uae_u32 buttonbits, uae_u32 buttonmask);
! 91: extern void setjoybuttonstate (int joy, int button, int state);
! 92: extern void setmousebuttonstate (int mouse, int button, int state);
! 93: extern void setjoystickstate (int joy, int axle, int state, int max);
! 94: void setmousestate (int mouse, int axis, int data, int isabs);
! 95: extern void inputdevice_updateconfig (struct uae_prefs *prefs);
! 96:
! 97: extern int inputdevice_translatekeycode (int keyboard, int scancode, int state);
! 98: extern void inputdevice_setkeytranslation (struct uae_input_device_kbr_default *trans);
! 99: extern void handle_input_event (int nr, int state, int max, int autofire);
! 100: extern void inputdevice_do_keyboard (int code, int state);
1.1 root 101:
102: extern uae_u16 potgo_value;
103: extern uae_u16 POTGOR (void);
104: extern void POTGO (uae_u16 v);
105: extern uae_u16 POT0DAT (void);
106: extern uae_u16 POT1DAT (void);
107: extern void JOYTEST (uae_u16 v);
108: extern uae_u16 JOY0DAT (void);
109: extern uae_u16 JOY1DAT (void);
1.1.1.2 ! root 110:
! 111: extern void inputdevice_vsync (void);
! 112: extern void inputdevice_hsync (void);
! 113: extern void inputdevice_reset (void);
! 114:
! 115: extern void write_inputdevice_config (struct uae_prefs *p, FILE *f);
! 116: extern void read_inputdevice_config (struct uae_prefs *p, char *option, char *value);
! 117: extern void reset_inputdevice_config (struct uae_prefs *pr);
! 118:
! 119: extern void inputdevice_init (void);
! 120: extern void inputdevice_close (void);
! 121: extern void inputdevice_default_prefs (struct uae_prefs *p);
! 122:
! 123: extern void inputdevice_acquire (void);
! 124: extern void inputdevice_unacquire (void);
! 125:
! 126: extern void indicator_leds (int num, int state);
! 127:
! 128: extern void warpmode (int mode);
! 129: extern void pausemode (int mode);
! 130:
! 131: extern void inputdevice_add_inputcode (int code, int state);
! 132: extern void inputdevice_handle_inputcode (void);
! 133:
! 134: #define JSEM_KBDLAYOUT 0
! 135: #define JSEM_JOYS 100
! 136: #define JSEM_MICE 200
! 137: #define JSEM_END 300
! 138: #define JSEM_DECODEVAL(port,p) ((port) == 0 ? (p)->jport0 : (p)->jport1)
! 139: #define JSEM_ISNUMPAD(port,p) (jsem_iskbdjoy(port,p) == JSEM_KBDLAYOUT)
! 140: #define JSEM_ISCURSOR(port,p) (jsem_iskbdjoy(port,p) == JSEM_KBDLAYOUT + 1)
! 141: #define JSEM_ISSOMEWHEREELSE(port,p) (jsem_iskbdjoy(port,p) == JSEM_KBDLAYOUT + 2)
! 142: #define JSEM_ISXARCADE1(port,p) (jsem_iskbdjoy(port,p) == JSEM_KBDLAYOUT + 3)
! 143: #define JSEM_ISXARCADE2(port,p) (jsem_iskbdjoy(port,p) == JSEM_KBDLAYOUT + 4)
! 144: #define JSEM_LASTKBD 5
! 145: #define JSEM_ISANYKBD(port,p) (jsem_iskbdjoy(port,p) >= JSEM_KBDLAYOUT && jsem_iskbdjoy(port,p) < JSEM_KBDLAYOUT + JSEM_LASTKBD)
! 146: extern int compatibility_device[2];
! 147:
! 148: extern int jsem_isjoy (int port, struct uae_prefs *p);
! 149: extern int jsem_ismouse (int port, struct uae_prefs *p);
! 150: extern int jsem_iskbdjoy (int port, struct uae_prefs *p);
! 151:
! 152: extern int inputdevice_uaelib (char*, char*);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.