Annotation of uae/src/include/inputdevice.h, revision 1.1.1.2

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*);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.