mirror of https://github.com/987123879113/mame
osd/modules/input, emu/inpttype.cpp: Made most default joystick assignments supplied by input modules. Input modules take available controls into consideration when generating default assignments. emu/inpttype.ipp: Added a separate "Back" UI input separate from Cancel. You may want an easier to hit combination for moving to the previous menu than for exiting or cancelling input. They both default to Escape. emu/inpttype.ipp: Added a UI Help control. Currently only used by analog inputs menu emu/inpttype.h: Moved I/O port field type enum to its own header and sorted UI controls so they appear in a more logical order. ui: Don't use UI Select to restore defaults - people should be getting used to the UI Clear input by now. UI Select cycles multi-value items instead. ui/inputmap.cpp: Don't use immediate cancel to cycle between clearing and restoring default assignment (use UI Clear instead). osd: Reduced the number of files needing to include the dreaded emu.h. Got some implementation out of headers.konami_53cf96
parent
20d7135179
commit
d4589e0b29
109 changed files with 35053 additions and 29837 deletions
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,351 @@ |
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Aaron Giles
|
||||
/***************************************************************************
|
||||
|
||||
inpttype.ipp |
||||
|
||||
Core-defined input types. |
||||
|
||||
***************************************************************************/ |
||||
#ifndef MAME_EMU_INPTTYPE_H |
||||
#define MAME_EMU_INPTTYPE_H |
||||
|
||||
#pragma once |
||||
|
||||
#include "interface/inputfwd.h" |
||||
#include "osdcomm.h" |
||||
|
||||
|
||||
enum ioport_type : osd::u32 |
||||
{ |
||||
// pseudo-port types
|
||||
IPT_INVALID = 0, |
||||
IPT_UNUSED, |
||||
IPT_END, |
||||
IPT_UNKNOWN, |
||||
IPT_PORT, |
||||
IPT_DIPSWITCH, |
||||
IPT_CONFIG, |
||||
|
||||
// start buttons
|
||||
IPT_START1, |
||||
IPT_START2, |
||||
IPT_START3, |
||||
IPT_START4, |
||||
IPT_START5, |
||||
IPT_START6, |
||||
IPT_START7, |
||||
IPT_START8, |
||||
IPT_START9, |
||||
IPT_START10, |
||||
|
||||
// coin slots
|
||||
IPT_COIN1, |
||||
IPT_COIN2, |
||||
IPT_COIN3, |
||||
IPT_COIN4, |
||||
IPT_COIN5, |
||||
IPT_COIN6, |
||||
IPT_COIN7, |
||||
IPT_COIN8, |
||||
IPT_COIN9, |
||||
IPT_COIN10, |
||||
IPT_COIN11, |
||||
IPT_COIN12, |
||||
IPT_BILL1, |
||||
|
||||
// service coin
|
||||
IPT_SERVICE1, |
||||
IPT_SERVICE2, |
||||
IPT_SERVICE3, |
||||
IPT_SERVICE4, |
||||
|
||||
// tilt inputs
|
||||
IPT_TILT1, |
||||
IPT_TILT2, |
||||
IPT_TILT3, |
||||
IPT_TILT4, |
||||
|
||||
// misc other digital inputs
|
||||
IPT_POWER_ON, |
||||
IPT_POWER_OFF, |
||||
IPT_SERVICE, |
||||
IPT_TILT, |
||||
IPT_INTERLOCK, |
||||
IPT_MEMORY_RESET, |
||||
IPT_VOLUME_UP, |
||||
IPT_VOLUME_DOWN, |
||||
IPT_START, // use the numbered start button(s) for coin-ops
|
||||
IPT_SELECT, |
||||
IPT_KEYPAD, |
||||
IPT_KEYBOARD, |
||||
|
||||
// digital joystick inputs
|
||||
IPT_DIGITAL_JOYSTICK_FIRST, |
||||
|
||||
// use IPT_JOYSTICK for panels where the player has one single joystick
|
||||
IPT_JOYSTICK_UP, |
||||
IPT_JOYSTICK_DOWN, |
||||
IPT_JOYSTICK_LEFT, |
||||
IPT_JOYSTICK_RIGHT, |
||||
|
||||
// use IPT_JOYSTICKLEFT and IPT_JOYSTICKRIGHT for dual joystick panels
|
||||
IPT_JOYSTICKRIGHT_UP, |
||||
IPT_JOYSTICKRIGHT_DOWN, |
||||
IPT_JOYSTICKRIGHT_LEFT, |
||||
IPT_JOYSTICKRIGHT_RIGHT, |
||||
IPT_JOYSTICKLEFT_UP, |
||||
IPT_JOYSTICKLEFT_DOWN, |
||||
IPT_JOYSTICKLEFT_LEFT, |
||||
IPT_JOYSTICKLEFT_RIGHT, |
||||
|
||||
IPT_DIGITAL_JOYSTICK_LAST, |
||||
|
||||
// action buttons
|
||||
IPT_BUTTON1, |
||||
IPT_BUTTON2, |
||||
IPT_BUTTON3, |
||||
IPT_BUTTON4, |
||||
IPT_BUTTON5, |
||||
IPT_BUTTON6, |
||||
IPT_BUTTON7, |
||||
IPT_BUTTON8, |
||||
IPT_BUTTON9, |
||||
IPT_BUTTON10, |
||||
IPT_BUTTON11, |
||||
IPT_BUTTON12, |
||||
IPT_BUTTON13, |
||||
IPT_BUTTON14, |
||||
IPT_BUTTON15, |
||||
IPT_BUTTON16, |
||||
|
||||
// mahjong inputs
|
||||
IPT_MAHJONG_FIRST, |
||||
|
||||
IPT_MAHJONG_A, |
||||
IPT_MAHJONG_B, |
||||
IPT_MAHJONG_C, |
||||
IPT_MAHJONG_D, |
||||
IPT_MAHJONG_E, |
||||
IPT_MAHJONG_F, |
||||
IPT_MAHJONG_G, |
||||
IPT_MAHJONG_H, |
||||
IPT_MAHJONG_I, |
||||
IPT_MAHJONG_J, |
||||
IPT_MAHJONG_K, |
||||
IPT_MAHJONG_L, |
||||
IPT_MAHJONG_M, |
||||
IPT_MAHJONG_N, |
||||
IPT_MAHJONG_O, |
||||
IPT_MAHJONG_P, |
||||
IPT_MAHJONG_Q, |
||||
IPT_MAHJONG_KAN, |
||||
IPT_MAHJONG_PON, |
||||
IPT_MAHJONG_CHI, |
||||
IPT_MAHJONG_REACH, |
||||
IPT_MAHJONG_RON, |
||||
IPT_MAHJONG_FLIP_FLOP, |
||||
IPT_MAHJONG_BET, |
||||
IPT_MAHJONG_SCORE, |
||||
IPT_MAHJONG_DOUBLE_UP, |
||||
IPT_MAHJONG_BIG, |
||||
IPT_MAHJONG_SMALL, |
||||
IPT_MAHJONG_LAST_CHANCE, |
||||
|
||||
IPT_MAHJONG_LAST, |
||||
|
||||
// hanafuda inputs
|
||||
IPT_HANAFUDA_FIRST, |
||||
|
||||
IPT_HANAFUDA_A, |
||||
IPT_HANAFUDA_B, |
||||
IPT_HANAFUDA_C, |
||||
IPT_HANAFUDA_D, |
||||
IPT_HANAFUDA_E, |
||||
IPT_HANAFUDA_F, |
||||
IPT_HANAFUDA_G, |
||||
IPT_HANAFUDA_H, |
||||
IPT_HANAFUDA_YES, |
||||
IPT_HANAFUDA_NO, |
||||
|
||||
IPT_HANAFUDA_LAST, |
||||
|
||||
// gambling inputs
|
||||
IPT_GAMBLING_FIRST, |
||||
|
||||
IPT_GAMBLE_KEYIN, // attendant
|
||||
IPT_GAMBLE_KEYOUT, // attendant
|
||||
IPT_GAMBLE_SERVICE, // attendant
|
||||
IPT_GAMBLE_BOOK, // attendant
|
||||
IPT_GAMBLE_DOOR, // attendant
|
||||
// IPT_GAMBLE_DOOR2, // many gambling games have several doors.
|
||||
// IPT_GAMBLE_DOOR3,
|
||||
// IPT_GAMBLE_DOOR4,
|
||||
// IPT_GAMBLE_DOOR5,
|
||||
|
||||
IPT_GAMBLE_PAYOUT, // player
|
||||
IPT_GAMBLE_BET, // player
|
||||
IPT_GAMBLE_DEAL, // player
|
||||
IPT_GAMBLE_STAND, // player
|
||||
IPT_GAMBLE_TAKE, // player
|
||||
IPT_GAMBLE_D_UP, // player
|
||||
IPT_GAMBLE_HALF, // player
|
||||
IPT_GAMBLE_HIGH, // player
|
||||
IPT_GAMBLE_LOW, // player
|
||||
|
||||
// poker-specific inputs
|
||||
IPT_POKER_HOLD1, |
||||
IPT_POKER_HOLD2, |
||||
IPT_POKER_HOLD3, |
||||
IPT_POKER_HOLD4, |
||||
IPT_POKER_HOLD5, |
||||
IPT_POKER_CANCEL, |
||||
|
||||
// slot-specific inputs
|
||||
IPT_SLOT_STOP1, |
||||
IPT_SLOT_STOP2, |
||||
IPT_SLOT_STOP3, |
||||
IPT_SLOT_STOP4, |
||||
IPT_SLOT_STOP_ALL, |
||||
|
||||
IPT_GAMBLING_LAST, |
||||
|
||||
// analog inputs
|
||||
IPT_ANALOG_FIRST, |
||||
|
||||
IPT_ANALOG_ABSOLUTE_FIRST, |
||||
|
||||
IPT_AD_STICK_X, // absolute // autocenter
|
||||
IPT_AD_STICK_Y, // absolute // autocenter
|
||||
IPT_AD_STICK_Z, // absolute // autocenter
|
||||
IPT_PADDLE, // absolute // autocenter
|
||||
IPT_PADDLE_V, // absolute // autocenter
|
||||
IPT_PEDAL, // absolute // autocenter
|
||||
IPT_PEDAL2, // absolute // autocenter
|
||||
IPT_PEDAL3, // absolute // autocenter
|
||||
IPT_LIGHTGUN_X, // absolute
|
||||
IPT_LIGHTGUN_Y, // absolute
|
||||
IPT_POSITIONAL, // absolute // autocenter if not wraps
|
||||
IPT_POSITIONAL_V, // absolute // autocenter if not wraps
|
||||
|
||||
IPT_ANALOG_ABSOLUTE_LAST, |
||||
|
||||
IPT_DIAL, // relative
|
||||
IPT_DIAL_V, // relative
|
||||
IPT_TRACKBALL_X, // relative
|
||||
IPT_TRACKBALL_Y, // relative
|
||||
IPT_MOUSE_X, // relative
|
||||
IPT_MOUSE_Y, // relative
|
||||
|
||||
IPT_ANALOG_LAST, |
||||
|
||||
// analog adjuster support
|
||||
IPT_ADJUSTER, |
||||
|
||||
// the following are special codes for user interface handling - not to be used by drivers!
|
||||
IPT_UI_FIRST, |
||||
|
||||
IPT_UI_MENU, |
||||
IPT_UI_SELECT, |
||||
IPT_UI_BACK, |
||||
IPT_UI_CANCEL, |
||||
IPT_UI_CLEAR, |
||||
IPT_UI_HELP, |
||||
IPT_UI_UP, |
||||
IPT_UI_DOWN, |
||||
IPT_UI_LEFT, |
||||
IPT_UI_RIGHT, |
||||
IPT_UI_HOME, |
||||
IPT_UI_END, |
||||
IPT_UI_PAGE_UP, |
||||
IPT_UI_PAGE_DOWN, |
||||
IPT_UI_PREV_GROUP, |
||||
IPT_UI_NEXT_GROUP, |
||||
IPT_UI_ON_SCREEN_DISPLAY, |
||||
IPT_UI_TOGGLE_UI, |
||||
IPT_UI_DEBUG_BREAK, |
||||
IPT_UI_PAUSE, |
||||
IPT_UI_PAUSE_SINGLE, |
||||
IPT_UI_REWIND_SINGLE, |
||||
IPT_UI_SAVE_STATE, |
||||
IPT_UI_LOAD_STATE, |
||||
IPT_UI_RESET_MACHINE, |
||||
IPT_UI_SOFT_RESET, |
||||
IPT_UI_SHOW_GFX, |
||||
IPT_UI_FRAMESKIP_DEC, |
||||
IPT_UI_FRAMESKIP_INC, |
||||
IPT_UI_THROTTLE, |
||||
IPT_UI_FAST_FORWARD, |
||||
IPT_UI_SHOW_FPS, |
||||
IPT_UI_SNAPSHOT, |
||||
IPT_UI_RECORD_MNG, |
||||
IPT_UI_RECORD_AVI, |
||||
IPT_UI_TOGGLE_CHEAT, |
||||
IPT_UI_DISPLAY_COMMENT, |
||||
IPT_UI_ZOOM_IN, |
||||
IPT_UI_ZOOM_OUT, |
||||
IPT_UI_ZOOM_DEFAULT, |
||||
IPT_UI_ROTATE, |
||||
IPT_UI_SHOW_PROFILER, |
||||
IPT_UI_RELEASE_POINTER, |
||||
IPT_UI_PASTE, |
||||
IPT_UI_TAPE_START, |
||||
IPT_UI_TAPE_STOP, |
||||
IPT_UI_FOCUS_NEXT, |
||||
IPT_UI_FOCUS_PREV, |
||||
IPT_UI_DATS, |
||||
IPT_UI_FAVORITES, |
||||
IPT_UI_EXPORT, |
||||
IPT_UI_AUDIT, |
||||
|
||||
// additional OSD-specified UI port types (up to 16)
|
||||
IPT_OSD_1, |
||||
IPT_OSD_2, |
||||
IPT_OSD_3, |
||||
IPT_OSD_4, |
||||
IPT_OSD_5, |
||||
IPT_OSD_6, |
||||
IPT_OSD_7, |
||||
IPT_OSD_8, |
||||
IPT_OSD_9, |
||||
IPT_OSD_10, |
||||
IPT_OSD_11, |
||||
IPT_OSD_12, |
||||
IPT_OSD_13, |
||||
IPT_OSD_14, |
||||
IPT_OSD_15, |
||||
IPT_OSD_16, |
||||
|
||||
IPT_UI_LAST, |
||||
|
||||
IPT_OTHER, // not mapped to standard defaults
|
||||
|
||||
IPT_SPECIAL, // uninterpreted characters
|
||||
IPT_CUSTOM, // handled by custom code
|
||||
IPT_OUTPUT, |
||||
|
||||
IPT_COUNT, |
||||
|
||||
// aliases for some types
|
||||
IPT_PADDLE_H = IPT_PADDLE, |
||||
IPT_PEDAL1 = IPT_PEDAL, |
||||
IPT_POSITIONAL_H = IPT_POSITIONAL, |
||||
IPT_DIAL_H = IPT_DIAL |
||||
}; |
||||
|
||||
DECLARE_ENUM_INCDEC_OPERATORS(ioport_type) |
||||
|
||||
|
||||
// sequence types for input_port_seq() call
|
||||
enum input_seq_type : int |
||||
{ |
||||
SEQ_TYPE_INVALID = -1, |
||||
SEQ_TYPE_STANDARD = 0, |
||||
SEQ_TYPE_INCREMENT, |
||||
SEQ_TYPE_DECREMENT, |
||||
SEQ_TYPE_TOTAL |
||||
}; |
||||
|
||||
DECLARE_ENUM_INCDEC_OPERATORS(input_seq_type) |
||||
|
||||
#endif // MAME_EMU_INPTTYPE_H
|
File diff suppressed because it is too large
Load Diff