[Contents] [Index] [Help] [Retrace] [browse <] [Browse >]

#ifndef DEVICES_GAMEPORT_H
#define DEVICES_GAMEPORT_H
/*
**      $Filename: devices/gameport.h $
**      $Release: 2.04 Includes, V37.4 $
**      $Revision: 36.1 $
**      $Date: 90/11/05 $
**
**      GamePort device command definitions
**
**      (C) Copyright 1985-1999 Amiga, Inc.
**          All Rights Reserved
*/

#ifndef EXEC_TYPES_H
#include        "exec/types.h"
#endif

#ifndef EXEC_IO_H
#include        "exec/io.h"
#endif

/******         GamePort commands ******/
#define         GPD_READEVENT     (CMD_NONSTD+0)
#define         GPD_ASKCTYPE      (CMD_NONSTD+1)
#define         GPD_SETCTYPE      (CMD_NONSTD+2)
#define         GPD_ASKTRIGGER    (CMD_NONSTD+3)
#define  GPD_SETTRIGGER    (CMD_NONSTD+4)

/******  GamePort structures ******/

/* gpt_Keys */
#define         GPTB_DOWNKEYS     0
#define         GPTF_DOWNKEYS     (1<<0)
#define         GPTB_UPKEYS       1
#define  GPTF_UPKEYS       (1<<1)

struct GamePortTrigger {
   UWORD gpt_Keys;        /* key transition triggers */
   UWORD gpt_Timeout;     /* time trigger (vertical blank units) */
   UWORD gpt_XDelta;      /* X distance trigger */
   UWORD gpt_YDelta;       /* Y distance trigger */
};

/****** Controller Types ******/
#define         GPCT_ALLOCATED    -1    /* allocated by another user */
#define  GPCT_NOCONTROLLER 0

#define         GPCT_MOUSE        1
#define         GPCT_RELJOYSTICK  2
#define  GPCT_ABSJOYSTICK  3


/****** Errors ******/
#define  GPDERR_SETCTYPE   1     /* this controller not valid at this time */

#endif  /* DEVICES_GAMEPORT_H */