core/hid: Fully implement native mouse
This commit is contained in:
parent
bca299e8e0
commit
654d76e79e
21 changed files with 323 additions and 1039 deletions
|
@ -83,163 +83,6 @@ static const std::array<std::array<int, 5>, Settings::NativeAnalog::NumAnalogs>
|
|||
},
|
||||
}};
|
||||
|
||||
static const std::array<int, Settings::NativeMouseButton::NumMouseButtons> default_mouse_buttons = {
|
||||
SDL_SCANCODE_LEFTBRACKET, SDL_SCANCODE_RIGHTBRACKET, SDL_SCANCODE_APOSTROPHE,
|
||||
SDL_SCANCODE_MINUS, SDL_SCANCODE_EQUALS,
|
||||
};
|
||||
|
||||
static const std::array<int, 0x8A> keyboard_keys = {
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
SDL_SCANCODE_A,
|
||||
SDL_SCANCODE_B,
|
||||
SDL_SCANCODE_C,
|
||||
SDL_SCANCODE_D,
|
||||
SDL_SCANCODE_E,
|
||||
SDL_SCANCODE_F,
|
||||
SDL_SCANCODE_G,
|
||||
SDL_SCANCODE_H,
|
||||
SDL_SCANCODE_I,
|
||||
SDL_SCANCODE_J,
|
||||
SDL_SCANCODE_K,
|
||||
SDL_SCANCODE_L,
|
||||
SDL_SCANCODE_M,
|
||||
SDL_SCANCODE_N,
|
||||
SDL_SCANCODE_O,
|
||||
SDL_SCANCODE_P,
|
||||
SDL_SCANCODE_Q,
|
||||
SDL_SCANCODE_R,
|
||||
SDL_SCANCODE_S,
|
||||
SDL_SCANCODE_T,
|
||||
SDL_SCANCODE_U,
|
||||
SDL_SCANCODE_V,
|
||||
SDL_SCANCODE_W,
|
||||
SDL_SCANCODE_X,
|
||||
SDL_SCANCODE_Y,
|
||||
SDL_SCANCODE_Z,
|
||||
SDL_SCANCODE_1,
|
||||
SDL_SCANCODE_2,
|
||||
SDL_SCANCODE_3,
|
||||
SDL_SCANCODE_4,
|
||||
SDL_SCANCODE_5,
|
||||
SDL_SCANCODE_6,
|
||||
SDL_SCANCODE_7,
|
||||
SDL_SCANCODE_8,
|
||||
SDL_SCANCODE_9,
|
||||
SDL_SCANCODE_0,
|
||||
SDL_SCANCODE_RETURN,
|
||||
SDL_SCANCODE_ESCAPE,
|
||||
SDL_SCANCODE_BACKSPACE,
|
||||
SDL_SCANCODE_TAB,
|
||||
SDL_SCANCODE_SPACE,
|
||||
SDL_SCANCODE_MINUS,
|
||||
SDL_SCANCODE_EQUALS,
|
||||
SDL_SCANCODE_LEFTBRACKET,
|
||||
SDL_SCANCODE_RIGHTBRACKET,
|
||||
SDL_SCANCODE_BACKSLASH,
|
||||
0,
|
||||
SDL_SCANCODE_SEMICOLON,
|
||||
SDL_SCANCODE_APOSTROPHE,
|
||||
SDL_SCANCODE_GRAVE,
|
||||
SDL_SCANCODE_COMMA,
|
||||
SDL_SCANCODE_PERIOD,
|
||||
SDL_SCANCODE_SLASH,
|
||||
SDL_SCANCODE_CAPSLOCK,
|
||||
|
||||
SDL_SCANCODE_F1,
|
||||
SDL_SCANCODE_F2,
|
||||
SDL_SCANCODE_F3,
|
||||
SDL_SCANCODE_F4,
|
||||
SDL_SCANCODE_F5,
|
||||
SDL_SCANCODE_F6,
|
||||
SDL_SCANCODE_F7,
|
||||
SDL_SCANCODE_F8,
|
||||
SDL_SCANCODE_F9,
|
||||
SDL_SCANCODE_F10,
|
||||
SDL_SCANCODE_F11,
|
||||
SDL_SCANCODE_F12,
|
||||
|
||||
0,
|
||||
SDL_SCANCODE_SCROLLLOCK,
|
||||
SDL_SCANCODE_PAUSE,
|
||||
SDL_SCANCODE_INSERT,
|
||||
SDL_SCANCODE_HOME,
|
||||
SDL_SCANCODE_PAGEUP,
|
||||
SDL_SCANCODE_DELETE,
|
||||
SDL_SCANCODE_END,
|
||||
SDL_SCANCODE_PAGEDOWN,
|
||||
SDL_SCANCODE_RIGHT,
|
||||
SDL_SCANCODE_LEFT,
|
||||
SDL_SCANCODE_DOWN,
|
||||
SDL_SCANCODE_UP,
|
||||
|
||||
SDL_SCANCODE_NUMLOCKCLEAR,
|
||||
SDL_SCANCODE_KP_DIVIDE,
|
||||
SDL_SCANCODE_KP_MULTIPLY,
|
||||
SDL_SCANCODE_KP_MINUS,
|
||||
SDL_SCANCODE_KP_PLUS,
|
||||
SDL_SCANCODE_KP_ENTER,
|
||||
SDL_SCANCODE_KP_1,
|
||||
SDL_SCANCODE_KP_2,
|
||||
SDL_SCANCODE_KP_3,
|
||||
SDL_SCANCODE_KP_4,
|
||||
SDL_SCANCODE_KP_5,
|
||||
SDL_SCANCODE_KP_6,
|
||||
SDL_SCANCODE_KP_7,
|
||||
SDL_SCANCODE_KP_8,
|
||||
SDL_SCANCODE_KP_9,
|
||||
SDL_SCANCODE_KP_0,
|
||||
SDL_SCANCODE_KP_PERIOD,
|
||||
|
||||
0,
|
||||
0,
|
||||
SDL_SCANCODE_POWER,
|
||||
SDL_SCANCODE_KP_EQUALS,
|
||||
|
||||
SDL_SCANCODE_F13,
|
||||
SDL_SCANCODE_F14,
|
||||
SDL_SCANCODE_F15,
|
||||
SDL_SCANCODE_F16,
|
||||
SDL_SCANCODE_F17,
|
||||
SDL_SCANCODE_F18,
|
||||
SDL_SCANCODE_F19,
|
||||
SDL_SCANCODE_F20,
|
||||
SDL_SCANCODE_F21,
|
||||
SDL_SCANCODE_F22,
|
||||
SDL_SCANCODE_F23,
|
||||
SDL_SCANCODE_F24,
|
||||
|
||||
0,
|
||||
SDL_SCANCODE_HELP,
|
||||
SDL_SCANCODE_MENU,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
SDL_SCANCODE_KP_COMMA,
|
||||
SDL_SCANCODE_KP_LEFTPAREN,
|
||||
SDL_SCANCODE_KP_RIGHTPAREN,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
};
|
||||
|
||||
static const std::array<int, 8> keyboard_mods{
|
||||
SDL_SCANCODE_LCTRL, SDL_SCANCODE_LSHIFT, SDL_SCANCODE_LALT, SDL_SCANCODE_LGUI,
|
||||
SDL_SCANCODE_RCTRL, SDL_SCANCODE_RSHIFT, SDL_SCANCODE_RALT, SDL_SCANCODE_RGUI,
|
||||
};
|
||||
|
||||
template <>
|
||||
void Config::ReadSetting(const std::string& group, Settings::BasicSetting<std::string>& setting) {
|
||||
setting = sdl2_config->Get(group, setting.GetLabel(), setting.GetDefault());
|
||||
|
@ -283,14 +126,6 @@ void Config::ReadValues() {
|
|||
}
|
||||
|
||||
ReadSetting("ControlsGeneral", Settings::values.mouse_enabled);
|
||||
for (int i = 0; i < Settings::NativeMouseButton::NumMouseButtons; ++i) {
|
||||
std::string default_param = InputCommon::GenerateKeyboardParam(default_mouse_buttons[i]);
|
||||
Settings::values.mouse_buttons[i] = sdl2_config->Get(
|
||||
"ControlsGeneral", std::string("mouse_") + Settings::NativeMouseButton::mapping[i],
|
||||
default_param);
|
||||
if (Settings::values.mouse_buttons[i].empty())
|
||||
Settings::values.mouse_buttons[i] = default_param;
|
||||
}
|
||||
|
||||
ReadSetting("ControlsGeneral", Settings::values.touch_device);
|
||||
|
||||
|
@ -365,15 +200,6 @@ void Config::ReadValues() {
|
|||
|
||||
ReadSetting("ControlsGeneral", Settings::values.udp_input_servers);
|
||||
|
||||
std::transform(keyboard_keys.begin(), keyboard_keys.end(),
|
||||
Settings::values.keyboard_keys.begin(), InputCommon::GenerateKeyboardParam);
|
||||
std::transform(keyboard_mods.begin(), keyboard_mods.end(),
|
||||
Settings::values.keyboard_keys.begin() +
|
||||
Settings::NativeKeyboard::LeftControlKey,
|
||||
InputCommon::GenerateKeyboardParam);
|
||||
std::transform(keyboard_mods.begin(), keyboard_mods.end(),
|
||||
Settings::values.keyboard_mods.begin(), InputCommon::GenerateKeyboardParam);
|
||||
|
||||
// Data Storage
|
||||
ReadSetting("Data Storage", Settings::values.use_virtual_sd);
|
||||
FS::SetYuzuPath(FS::YuzuPath::NANDDir,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue