Move input values into an array

This commit is contained in:
James Rowe 2015-06-20 04:34:45 +01:00
parent 453764aefc
commit 1bc7829ee9
7 changed files with 80 additions and 145 deletions

View file

@ -35,6 +35,16 @@ static Kernel::SharedPtr<Kernel::Event> event_debug_pad;
static u32 next_pad_index;
static u32 next_touch_index;
const std::array<Service::HID::PadState, Settings::NativeInput::NUM_INPUTS> pad_mapping = {
Service::HID::PAD_A, Service::HID::PAD_B, Service::HID::PAD_X, Service::HID::PAD_Y,
Service::HID::PAD_L, Service::HID::PAD_R, Service::HID::PAD_ZL, Service::HID::PAD_ZR,
Service::HID::PAD_START, Service::HID::PAD_SELECT, Service::HID::PAD_NONE,
Service::HID::PAD_UP, Service::HID::PAD_DOWN, Service::HID::PAD_LEFT, Service::HID::PAD_RIGHT,
Service::HID::PAD_CIRCLE_UP, Service::HID::PAD_CIRCLE_DOWN, Service::HID::PAD_CIRCLE_LEFT, Service::HID::PAD_CIRCLE_RIGHT,
Service::HID::PAD_C_UP, Service::HID::PAD_C_DOWN, Service::HID::PAD_C_LEFT, Service::HID::PAD_C_RIGHT
};
// TODO(peachum):
// Add a method for setting analog input from joystick device for the circle Pad.
//

View file

@ -9,7 +9,7 @@
#ifndef _MSC_VER
#include <cstddef>
#endif
#include "core/settings.h"
#include "common/bit_field.h"
#include "common/common_funcs.h"
#include "common/common_types.h"
@ -157,6 +157,9 @@ const PadState PAD_CIRCLE_LEFT = {{1u << 29}};
const PadState PAD_CIRCLE_UP = {{1u << 30}};
const PadState PAD_CIRCLE_DOWN = {{1u << 31}};
extern const std::array<Service::HID::PadState, Settings::NativeInput::NUM_INPUTS> pad_mapping;
/**
* HID::GetIPCHandles service function
* Inputs:

View file

@ -5,34 +5,42 @@
#pragma once
#include <string>
#include <array>
namespace Settings {
namespace NativeInput {
enum Values {
A, B, X, Y,
L, R, ZL, ZR,
START, SELECT, HOME,
DUP, DDOWN, DLEFT, DRIGHT,
SUP, SDOWN, SLEFT, SRIGHT,
CUP, CDOWN, CLEFT, CRIGHT,
NUM_INPUTS
};
static const std::array<const char*, NUM_INPUTS> Mapping = {
"pad_a", "pad_b", "pad_x", "pad_y",
"pad_l", "pad_r", "pad_zl", "pad_zr",
"pad_start", "pad_select", "pad_home",
"pad_dup", "pad_ddown", "pad_dleft", "pad_dright",
"pad_sup", "pad_sdown", "pad_sleft", "pad_sright",
"pad_cup", "pad_cdown", "pad_cleft", "pad_cright"
};
static const std::array<Values, NUM_INPUTS> All = {
A, B, X, Y,
L, R, ZL, ZR,
START, SELECT, HOME,
DUP, DDOWN, DLEFT, DRIGHT,
SUP, SDOWN, SLEFT, SRIGHT,
CUP, CDOWN, CLEFT, CRIGHT
};
}
struct Values {
// Controls
int pad_a_key;
int pad_b_key;
int pad_x_key;
int pad_y_key;
int pad_l_key;
int pad_r_key;
int pad_zl_key;
int pad_zr_key;
int pad_start_key;
int pad_select_key;
int pad_home_key;
int pad_dup_key;
int pad_ddown_key;
int pad_dleft_key;
int pad_dright_key;
int pad_sup_key;
int pad_sdown_key;
int pad_sleft_key;
int pad_sright_key;
int pad_cup_key;
int pad_cdown_key;
int pad_cleft_key;
int pad_cright_key;
std::array<int, NativeInput::NUM_INPUTS> input_mappings;
// Core
int frame_skip;