/*****************************************************************************\
     Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
                This file is licensed under the Snes9x License.
   For further information, consult the LICENSE file in the root directory.
\*****************************************************************************/

/***********************************************************************************
  SNES9X for Mac OS (c) Copyright John Stiles

  Snes9x for Mac OS X

  (c) Copyright 2001 - 2011  zones
  (c) Copyright 2002 - 2005  107
  (c) Copyright 2002         PB1400c
  (c) Copyright 2004         Alexander and Sander
  (c) Copyright 2004 - 2005  Steven Seeger
  (c) Copyright 2005         Ryan Vogt
  (c) Copyright 2019         Michael Donald Buckley
 ***********************************************************************************/


#ifndef _mac_keyboard_h_
#define _mac_keyboard_h_

#include "mac-controls.h"

#define MAC_NUM_KEYCODES    255

struct S9xButton {
    int16 buttonCode;
    int8 player;
};

extern struct S9xButton keyCodes[MAC_NUM_KEYCODES];

void InitKeyboard (void);
void DeinitKeyboard (void);

bool SetKeyCode(int16 keyCode, S9xButtonCode button, int8 player, int16 *oldKeyCode, S9xButtonCode *oldButton, int8 *oldPlayer);
void ClearKeyCode(S9xButtonCode buttonCode, int8 player);

#endif