mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one.
This commit is contained in:
		
							parent
							
								
									3c5aaafb40
								
							
						
					
					
						commit
						aa64f69af0
					
				
					 7 changed files with 82 additions and 13 deletions
				
			
		|  | @ -44,6 +44,8 @@ void Config::ReadValues() { | |||
|     Settings::values.pad_y_key = glfw_config->GetInteger("Controls", "pad_y", GLFW_KEY_X); | ||||
|     Settings::values.pad_l_key = glfw_config->GetInteger("Controls", "pad_l", GLFW_KEY_Q); | ||||
|     Settings::values.pad_r_key = glfw_config->GetInteger("Controls", "pad_r", GLFW_KEY_W); | ||||
|     Settings::values.pad_zl_key = glfw_config->GetInteger("Controls", "pad_zl", GLFW_KEY_1); | ||||
|     Settings::values.pad_zr_key = glfw_config->GetInteger("Controls", "pad_zr", GLFW_KEY_2); | ||||
|     Settings::values.pad_start_key  = glfw_config->GetInteger("Controls", "pad_start",  GLFW_KEY_M); | ||||
|     Settings::values.pad_select_key = glfw_config->GetInteger("Controls", "pad_select", GLFW_KEY_N); | ||||
|     Settings::values.pad_home_key   = glfw_config->GetInteger("Controls", "pad_home",   GLFW_KEY_B); | ||||
|  | @ -55,6 +57,10 @@ void Config::ReadValues() { | |||
|     Settings::values.pad_sdown_key  = glfw_config->GetInteger("Controls", "pad_sdown",  GLFW_KEY_DOWN); | ||||
|     Settings::values.pad_sleft_key  = glfw_config->GetInteger("Controls", "pad_sleft",  GLFW_KEY_LEFT); | ||||
|     Settings::values.pad_sright_key = glfw_config->GetInteger("Controls", "pad_sright", GLFW_KEY_RIGHT); | ||||
|     Settings::values.pad_cup_key    = glfw_config->GetInteger("Controls", "pad_cup",    GLFW_KEY_I); | ||||
|     Settings::values.pad_cdown_key  = glfw_config->GetInteger("Controls", "pad_cdown",  GLFW_KEY_K); | ||||
|     Settings::values.pad_cleft_key  = glfw_config->GetInteger("Controls", "pad_cleft",  GLFW_KEY_J); | ||||
|     Settings::values.pad_cright_key = glfw_config->GetInteger("Controls", "pad_cright", GLFW_KEY_L); | ||||
| 
 | ||||
|     // Core
 | ||||
|     Settings::values.gpu_refresh_rate = glfw_config->GetInteger("Core", "gpu_refresh_rate", 30); | ||||
|  |  | |||
|  | @ -19,12 +19,18 @@ pad_a = | |||
| pad_b = | ||||
| pad_x = | ||||
| pad_y = | ||||
| pad_r = | ||||
| pad_l = | ||||
| pad_r = | ||||
| pad_zl = | ||||
| pad_zr = | ||||
| pad_sup = | ||||
| pad_sdown = | ||||
| pad_sleft = | ||||
| pad_sright = | ||||
| pad_cup = | ||||
| pad_cdown = | ||||
| pad_cleft = | ||||
| pad_cright = | ||||
| 
 | ||||
| [Core] | ||||
| gpu_refresh_rate = ## 30 (default) | ||||
|  |  | |||
|  | @ -139,6 +139,16 @@ void EmuWindow_GLFW::ReloadSetKeymaps() { | |||
|     KeyMap::SetKeyMapping({Settings::values.pad_l_key,      keyboard_id}, Service::HID::PAD_L); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_x_key,      keyboard_id}, Service::HID::PAD_X); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_y_key,      keyboard_id}, Service::HID::PAD_Y); | ||||
| 
 | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_zl_key,     keyboard_id}, Service::HID::PAD_ZL); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_zr_key,     keyboard_id}, Service::HID::PAD_ZR); | ||||
| 
 | ||||
|     // KeyMap::SetKeyMapping({Settings::values.pad_touch_key,  keyboard_id}, Service::HID::PAD_TOUCH);
 | ||||
| 
 | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_cright_key, keyboard_id}, Service::HID::PAD_C_RIGHT); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_cleft_key,  keyboard_id}, Service::HID::PAD_C_LEFT); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_cup_key,    keyboard_id}, Service::HID::PAD_C_UP); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_cdown_key,  keyboard_id}, Service::HID::PAD_C_DOWN); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_sright_key, keyboard_id}, Service::HID::PAD_CIRCLE_RIGHT); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_sleft_key,  keyboard_id}, Service::HID::PAD_CIRCLE_LEFT); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_sup_key,    keyboard_id}, Service::HID::PAD_CIRCLE_UP); | ||||
|  |  | |||
|  | @ -291,6 +291,16 @@ void GRenderWindow::ReloadSetKeymaps() | |||
|     KeyMap::SetKeyMapping({Settings::values.pad_l_key,      keyboard_id}, Service::HID::PAD_L); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_x_key,      keyboard_id}, Service::HID::PAD_X); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_y_key,      keyboard_id}, Service::HID::PAD_Y); | ||||
| 
 | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_zl_key,     keyboard_id}, Service::HID::PAD_ZL); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_zr_key,     keyboard_id}, Service::HID::PAD_ZR); | ||||
| 
 | ||||
|     // KeyMap::SetKeyMapping({Settings::values.pad_touch_key,  keyboard_id}, Service::HID::PAD_TOUCH);
 | ||||
| 
 | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_cright_key, keyboard_id}, Service::HID::PAD_C_RIGHT); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_cleft_key,  keyboard_id}, Service::HID::PAD_C_LEFT); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_cup_key,    keyboard_id}, Service::HID::PAD_C_UP); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_cdown_key,  keyboard_id}, Service::HID::PAD_C_DOWN); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_sright_key, keyboard_id}, Service::HID::PAD_CIRCLE_RIGHT); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_sleft_key,  keyboard_id}, Service::HID::PAD_CIRCLE_LEFT); | ||||
|     KeyMap::SetKeyMapping({Settings::values.pad_sup_key,    keyboard_id}, Service::HID::PAD_CIRCLE_UP); | ||||
|  |  | |||
|  | @ -23,12 +23,14 @@ Config::Config() { | |||
| 
 | ||||
| void Config::ReadValues() { | ||||
|     qt_config->beginGroup("Controls"); | ||||
|     Settings::values.pad_a_key = qt_config->value("pad_a", Qt::Key_A).toInt(); | ||||
|     Settings::values.pad_b_key = qt_config->value("pad_b", Qt::Key_S).toInt(); | ||||
|     Settings::values.pad_x_key = qt_config->value("pad_x", Qt::Key_Z).toInt(); | ||||
|     Settings::values.pad_y_key = qt_config->value("pad_y", Qt::Key_X).toInt(); | ||||
|     Settings::values.pad_l_key = qt_config->value("pad_l", Qt::Key_Q).toInt(); | ||||
|     Settings::values.pad_r_key = qt_config->value("pad_r", Qt::Key_W).toInt(); | ||||
|     Settings::values.pad_a_key      = qt_config->value("pad_a",      Qt::Key_A).toInt(); | ||||
|     Settings::values.pad_b_key      = qt_config->value("pad_b",      Qt::Key_S).toInt(); | ||||
|     Settings::values.pad_x_key      = qt_config->value("pad_x",      Qt::Key_Z).toInt(); | ||||
|     Settings::values.pad_y_key      = qt_config->value("pad_y",      Qt::Key_X).toInt(); | ||||
|     Settings::values.pad_l_key      = qt_config->value("pad_l",      Qt::Key_Q).toInt(); | ||||
|     Settings::values.pad_r_key      = qt_config->value("pad_r",      Qt::Key_W).toInt(); | ||||
|     Settings::values.pad_zl_key     = qt_config->value("pad_zl",     Qt::Key_1).toInt(); | ||||
|     Settings::values.pad_zr_key     = qt_config->value("pad_zr",     Qt::Key_2).toInt(); | ||||
|     Settings::values.pad_start_key  = qt_config->value("pad_start",  Qt::Key_M).toInt(); | ||||
|     Settings::values.pad_select_key = qt_config->value("pad_select", Qt::Key_N).toInt(); | ||||
|     Settings::values.pad_home_key   = qt_config->value("pad_home",   Qt::Key_B).toInt(); | ||||
|  | @ -40,6 +42,10 @@ void Config::ReadValues() { | |||
|     Settings::values.pad_sdown_key  = qt_config->value("pad_sdown",  Qt::Key_Down).toInt(); | ||||
|     Settings::values.pad_sleft_key  = qt_config->value("pad_sleft",  Qt::Key_Left).toInt(); | ||||
|     Settings::values.pad_sright_key = qt_config->value("pad_sright", Qt::Key_Right).toInt(); | ||||
|     Settings::values.pad_cup_key    = qt_config->value("pad_cup",    Qt::Key_I).toInt(); | ||||
|     Settings::values.pad_cdown_key  = qt_config->value("pad_cdown",  Qt::Key_K).toInt(); | ||||
|     Settings::values.pad_cleft_key  = qt_config->value("pad_cleft",  Qt::Key_J).toInt(); | ||||
|     Settings::values.pad_cright_key = qt_config->value("pad_cright", Qt::Key_L).toInt(); | ||||
|     qt_config->endGroup(); | ||||
| 
 | ||||
|     qt_config->beginGroup("Core"); | ||||
|  | @ -62,12 +68,14 @@ void Config::ReadValues() { | |||
| 
 | ||||
| void Config::SaveValues() { | ||||
|     qt_config->beginGroup("Controls"); | ||||
|     qt_config->setValue("pad_a", Settings::values.pad_a_key); | ||||
|     qt_config->setValue("pad_b", Settings::values.pad_b_key); | ||||
|     qt_config->setValue("pad_x", Settings::values.pad_x_key); | ||||
|     qt_config->setValue("pad_y", Settings::values.pad_y_key); | ||||
|     qt_config->setValue("pad_l", Settings::values.pad_l_key); | ||||
|     qt_config->setValue("pad_r", Settings::values.pad_r_key); | ||||
|     qt_config->setValue("pad_a",      Settings::values.pad_a_key); | ||||
|     qt_config->setValue("pad_b",      Settings::values.pad_b_key); | ||||
|     qt_config->setValue("pad_x",      Settings::values.pad_x_key); | ||||
|     qt_config->setValue("pad_y",      Settings::values.pad_y_key); | ||||
|     qt_config->setValue("pad_l",      Settings::values.pad_l_key); | ||||
|     qt_config->setValue("pad_r",      Settings::values.pad_r_key); | ||||
|     qt_config->setValue("pad_zl",     Settings::values.pad_zl_key); | ||||
|     qt_config->setValue("pad_zr",     Settings::values.pad_zr_key); | ||||
|     qt_config->setValue("pad_start",  Settings::values.pad_start_key); | ||||
|     qt_config->setValue("pad_select", Settings::values.pad_select_key); | ||||
|     qt_config->setValue("pad_home",   Settings::values.pad_home_key); | ||||
|  | @ -79,6 +87,10 @@ void Config::SaveValues() { | |||
|     qt_config->setValue("pad_sdown",  Settings::values.pad_sdown_key); | ||||
|     qt_config->setValue("pad_sleft",  Settings::values.pad_sleft_key); | ||||
|     qt_config->setValue("pad_sright", Settings::values.pad_sright_key); | ||||
|     qt_config->setValue("pad_cup",    Settings::values.pad_cup_key); | ||||
|     qt_config->setValue("pad_cdown",  Settings::values.pad_cdown_key); | ||||
|     qt_config->setValue("pad_cleft",  Settings::values.pad_cleft_key); | ||||
|     qt_config->setValue("pad_cright", Settings::values.pad_cright_key); | ||||
|     qt_config->endGroup(); | ||||
| 
 | ||||
|     qt_config->beginGroup("Core"); | ||||
|  |  | |||
|  | @ -47,6 +47,15 @@ struct PadState { | |||
|         BitField<10, 1, u32> x; | ||||
|         BitField<11, 1, u32> y; | ||||
| 
 | ||||
|         BitField<14, 1, u32> zl; | ||||
|         BitField<15, 1, u32> zr; | ||||
| 
 | ||||
|         BitField<20, 1, u32> touch; | ||||
| 
 | ||||
|         BitField<24, 1, u32> c_right; | ||||
|         BitField<25, 1, u32> c_left; | ||||
|         BitField<26, 1, u32> c_up; | ||||
|         BitField<27, 1, u32> c_down; | ||||
|         BitField<28, 1, u32> circle_right; | ||||
|         BitField<29, 1, u32> circle_left; | ||||
|         BitField<30, 1, u32> circle_up; | ||||
|  | @ -99,6 +108,16 @@ const PadState PAD_R            = {{1u << 8}}; | |||
| const PadState PAD_L            = {{1u << 9}}; | ||||
| const PadState PAD_X            = {{1u << 10}}; | ||||
| const PadState PAD_Y            = {{1u << 11}}; | ||||
| 
 | ||||
| const PadState PAD_ZL           = {{1u << 14}}; | ||||
| const PadState PAD_ZR           = {{1u << 15}}; | ||||
| 
 | ||||
| const PadState PAD_TOUCH        = {{1u << 20}}; | ||||
| 
 | ||||
| const PadState PAD_C_RIGHT      = {{1u << 24}}; | ||||
| const PadState PAD_C_LEFT       = {{1u << 25}}; | ||||
| const PadState PAD_C_UP         = {{1u << 26}}; | ||||
| const PadState PAD_C_DOWN       = {{1u << 27}}; | ||||
| const PadState PAD_CIRCLE_RIGHT = {{1u << 28}}; | ||||
| const PadState PAD_CIRCLE_LEFT  = {{1u << 29}}; | ||||
| const PadState PAD_CIRCLE_UP    = {{1u << 30}}; | ||||
|  |  | |||
|  | @ -16,6 +16,8 @@ struct Values { | |||
|     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; | ||||
|  | @ -27,6 +29,10 @@ struct Values { | |||
|     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; | ||||
| 
 | ||||
|     // Core
 | ||||
|     int gpu_refresh_rate; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue