diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index d3901c1dcf..def5302c14 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -913,6 +913,17 @@ namespace MainWindow control_map[i] = analog_ctrl_map[(i - key_pad_size) * 2]; SetWindowTextA(hEdit, getVirtualKeyName(control_map[i])); } + ComboBox_AddString(GetDlgItem(hDlg, IDC_FORCE_INPUT_DEVICE), "None"); + ComboBox_AddString(GetDlgItem(hDlg, IDC_FORCE_INPUT_DEVICE), "XInput"); + ComboBox_AddString(GetDlgItem(hDlg, IDC_FORCE_INPUT_DEVICE), "DirectInput"); + if ((g_Config.iForceInputDevice < 0) || (g_Config.iForceInputDevice > 1)) + { + ComboBox_SetCurSel(GetDlgItem(hDlg, IDC_FORCE_INPUT_DEVICE), 0); + } + else + { + ComboBox_SetCurSel(GetDlgItem(hDlg, IDC_FORCE_INPUT_DEVICE), (g_Config.iForceInputDevice + 1)); + } DWORD dwThreadID = GetWindowThreadProcessId(hDlg,NULL); pKeydownHook = SetWindowsHookEx(WH_KEYBOARD,KeyboardProc, NULL, dwThreadID); } @@ -935,6 +946,8 @@ namespace MainWindow } case WM_CTLCOLOREDIT: { + if ((HWND)lParam == GetDlgItem(hDlg, IDC_FORCE_INPUT_DEVICE)) + return FALSE; HDC hdc = (HDC)wParam; SetBkMode(hdc, TRANSPARENT); SetTextColor(hdc, RGB(255, 0, 0)); @@ -952,6 +965,7 @@ namespace MainWindow if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { if (LOWORD(wParam) == IDOK) { + g_Config.iForceInputDevice = (ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_FORCE_INPUT_DEVICE)) - 1); int key_pad_size = (IDC_EDIT_KEYRIGHT - IDC_EDIT_KEY_TURBO + 1); for (u32 i = 0; i <= IDC_EDIT_KEY_ANALOG_RIGHT - IDC_EDIT_KEY_TURBO; i++) { if (IDC_EDIT_KEY_TURBO + i <= IDC_EDIT_KEYRIGHT) diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 9b522b0733..fa0111f3df 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -101,7 +101,7 @@ FONT 9, "MS Shell Dlg", 0, 0, 0x1 BEGIN DEFPUSHBUTTON "OK",IDOK,176,217,50,14 PUSHBUTTON "Cancel",IDCANCEL,230,217,50,14 - LTEXT "Xbox 360 controllers are supported! Just plug one in and use it!",IDC_STATIC,14,6,201,8 + LTEXT "Xbox 360 and DirectInput controllers are supported! Just plug one in and use it!",IDC_STATIC,14,6,201,8 LTEXT "Turbo Mode:",IDC_STATIC,386,213,42,8 EDITTEXT IDC_EDIT_KEYUP,57,77,33,14,ES_CENTER | ES_AUTOHSCROLL | NOT WS_BORDER EDITTEXT IDC_EDIT_KEYLEFT,35,97,33,14,ES_CENTER | ES_AUTOHSCROLL | NOT WS_BORDER @@ -120,6 +120,8 @@ BEGIN EDITTEXT IDC_EDIT_KEY_ANALOG_RIGHT,75,158,33,14,ES_CENTER | ES_AUTOHSCROLL | NOT WS_BORDER EDITTEXT IDC_EDIT_KEY_ANALOG_DOWN,58,172,33,14,ES_CENTER | ES_AUTOHSCROLL | NOT WS_BORDER EDITTEXT IDC_EDIT_KEY_TURBO,430,210,33,14,ES_CENTER | ES_AUTOHSCROLL + LTEXT "Force device:",IDC_STATIC,10,220,45,11 + COMBOBOX IDC_FORCE_INPUT_DEVICE,59,218,84,140,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END /////////////////////////////////////////////////////////////////////////////