diff --git a/configure b/configure
index a55c6a6..a6536b2 100755
--- a/configure
+++ b/configure
@@ -15221,6 +15221,7 @@
 wine_fn_config_dll itircl enable_itircl
 wine_fn_config_dll itss enable_itss
 wine_fn_config_test dlls/itss/tests itss_test
+wine_fn_config_dll joy.cpl enable_joy_cpl po
 wine_fn_config_dll jscript enable_jscript po
 wine_fn_config_test dlls/jscript/tests jscript_test
 wine_fn_config_dll kernel32 enable_kernel32 implib,mc
diff --git a/configure.ac b/configure.ac
index 5cd12a5..46e448e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2654,6 +2654,7 @@
 WINE_CONFIG_DLL(itircl)
 WINE_CONFIG_DLL(itss)
 WINE_CONFIG_TEST(dlls/itss/tests)
+WINE_CONFIG_DLL(joy.cpl,,[po])
 WINE_CONFIG_DLL(jscript,,[po])
 WINE_CONFIG_TEST(dlls/jscript/tests)
 WINE_CONFIG_DLL(kernel32,,[implib,mc])
diff --git a/dlls/joy.cpl/Makefile.in b/dlls/joy.cpl/Makefile.in
new file mode 100644
index 0000000..0945885
--- /dev/null
+++ b/dlls/joy.cpl/Makefile.in
@@ -0,0 +1,10 @@
+MODULE    = joy.cpl
+IMPORTS   = dxguid dinput dinput8 ole32 comctl32 user32
+
+C_SRCS = \
+	main.c
+
+RC_SRCS = joy.rc
+PO_SRCS = joy.rc
+
+@MAKE_DLL_RULES@
diff --git a/dlls/joy.cpl/joy.cpl.spec b/dlls/joy.cpl/joy.cpl.spec
new file mode 100644
index 0000000..df77a30
--- /dev/null
+++ b/dlls/joy.cpl/joy.cpl.spec
@@ -0,0 +1 @@
+@ stdcall CPlApplet(long long long long)
diff --git a/dlls/joy.cpl/joy.h b/dlls/joy.cpl/joy.h
new file mode 100644
index 0000000..5c60125
--- /dev/null
+++ b/dlls/joy.cpl/joy.h
@@ -0,0 +1,60 @@
+/*
+ * Joystick testing control panel applet resources and definitions
+ *
+ * Copyright 2012 Lucas Fialho Zawacki
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+#ifndef __WINE_JOYSTICKCPL__
+#define __WINE_JOYSTICKCPL__
+
+#include <winuser.h>
+#include <windef.h>
+#include <commctrl.h>
+#include <dinput.h>
+
+extern HMODULE hcpl;
+
+struct Joystick {
+    IDirectInputDevice8W *device;
+    DIDEVICEINSTANCEW instance;
+    int num_buttons;
+    int num_axes;
+};
+
+struct JoystickData {
+    IDirectInput8W *di;
+    struct Joystick *joysticks;
+    int num_joysticks;
+    int cur_joystick;
+    int chosen_joystick;
+};
+
+#define NUM_PROPERTY_PAGES 3
+
+/* strings */
+#define IDS_CPL_NAME        1
+#define IDS_CPL_INFO        2
+
+/* dialogs */
+#define IDC_STATIC          -1
+
+#define IDD_LIST            1000
+#define IDD_TEST            1001
+#define IDD_FORCEFEEDBACK   1002
+
+#endif
diff --git a/dlls/joy.cpl/joy.rc b/dlls/joy.cpl/joy.rc
new file mode 100644
index 0000000..26c0884
--- /dev/null
+++ b/dlls/joy.cpl/joy.rc
@@ -0,0 +1,55 @@
+/*
+ * Joystick testing control panel applet resource file
+ *
+ * Copyright 2012 Lucas Fialho Zawacki
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+#include "joy.h"
+
+LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+    IDS_CPL_NAME        "Game Controllers"
+END
+
+IDD_LIST DIALOG 0, 0, 250, 200
+STYLE WS_CAPTION | WS_CHILD | WS_DISABLED
+CAPTION "Joysticks"
+FONT 8, "Ms Shell Dlg"
+{
+}
+
+IDD_TEST DIALOG 0, 0, 250, 200
+STYLE WS_CAPTION | WS_CHILD | WS_DISABLED
+CAPTION "Test Joystick"
+FONT 8, "Ms Shell Dlg"
+{
+}
+
+IDD_FORCEFEEDBACK DIALOG 0, 0, 250, 200
+STYLE WS_CAPTION | WS_CHILD | WS_DISABLED
+CAPTION "Test Force Feedback"
+FONT 8, "Ms Shell Dlg"
+{
+}
+
+#define WINE_FILENAME_STR "joy.cpl"
+#define WINE_FILEDESCRIPTION_STR "Game Controllers Configuration Panel"
+
+#include "wine/wine_common_ver.rc"
diff --git a/dlls/joy.cpl/main.c b/dlls/joy.cpl/main.c
new file mode 100644
index 0000000..c1269e6
--- /dev/null
+++ b/dlls/joy.cpl/main.c
@@ -0,0 +1,182 @@
+/*
+ * Joystick testing control panel applet
+ *
+ * Copyright 2012 Lucas Fialho Zawacki
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+#define NONAMELESSUNION
+#define COBJMACROS
+#define CONST_VTABLE
+
+#include <stdarg.h>
+#include <windef.h>
+#include <winbase.h>
+#include <winuser.h>
+#include <commctrl.h>
+#include <cpl.h>
+#include "ole2.h"
+
+#include "wine/debug.h"
+#include "joy.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(joycpl);
+
+DECLSPEC_HIDDEN HMODULE hcpl;
+
+/*********************************************************************
+ *  DllMain
+ */
+BOOL WINAPI DllMain(HINSTANCE hdll, DWORD reason, LPVOID reserved)
+{
+    TRACE("(%p, %d, %p)\n", hdll, reason, reserved);
+
+    switch (reason)
+    {
+        case DLL_WINE_PREATTACH:
+            return FALSE;  /* prefer native version */
+
+        case DLL_PROCESS_ATTACH:
+            DisableThreadLibraryCalls(hdll);
+            hcpl = hdll;
+    }
+    return TRUE;
+}
+
+/******************************************************************************
+ * propsheet_callback [internal]
+ *
+ */
+static int CALLBACK propsheet_callback(HWND hwnd, UINT msg, LPARAM lparam)
+{
+    TRACE("(%p, 0x%08x/%d, 0x%lx)\n", hwnd, msg, msg, lparam);
+    switch (msg)
+    {
+        case PSCB_INITIALIZED:
+            break;
+    }
+    return 0;
+}
+
+/******************************************************************************
+ * display_cpl_sheets [internal]
+ *
+ * Build and display the dialog with all control panel propertysheets
+ *
+ */
+static void display_cpl_sheets(HWND parent, struct JoystickData *data)
+{
+    INITCOMMONCONTROLSEX icex;
+    PROPSHEETPAGEW psp[NUM_PROPERTY_PAGES];
+    PROPSHEETHEADERW psh;
+    DWORD id = 0;
+
+    OleInitialize(NULL);
+    /* Initialize common controls */
+    icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
+    icex.dwICC = ICC_LISTVIEW_CLASSES | ICC_BAR_CLASSES;
+    InitCommonControlsEx(&icex);
+
+    ZeroMemory(&psh, sizeof(psh));
+    ZeroMemory(psp, sizeof(psp));
+
+    /* Fill out all PROPSHEETPAGE */
+    psp[id].dwSize = sizeof (PROPSHEETPAGEW);
+    psp[id].hInstance = hcpl;
+    psp[id].u.pszTemplate = MAKEINTRESOURCEW(IDD_LIST);
+    psp[id].pfnDlgProc = NULL;
+    psp[id].lParam = (INT_PTR) data;
+    id++;
+
+    psp[id].dwSize = sizeof (PROPSHEETPAGEW);
+    psp[id].hInstance = hcpl;
+    psp[id].u.pszTemplate = MAKEINTRESOURCEW(IDD_TEST);
+    psp[id].pfnDlgProc = NULL;
+    psp[id].lParam = (INT_PTR) data;
+    id++;
+
+    psp[id].dwSize = sizeof (PROPSHEETPAGEW);
+    psp[id].hInstance = hcpl;
+    psp[id].u.pszTemplate = MAKEINTRESOURCEW(IDD_FORCEFEEDBACK);
+    psp[id].pfnDlgProc = NULL;
+    psp[id].lParam = (INT_PTR) data;
+    id++;
+
+    /* Fill out the PROPSHEETHEADER */
+    psh.dwSize = sizeof (PROPSHEETHEADERW);
+    psh.dwFlags = PSH_PROPSHEETPAGE | PSH_USEICONID | PSH_USECALLBACK;
+    psh.hwndParent = parent;
+    psh.hInstance = hcpl;
+    psh.pszCaption = MAKEINTRESOURCEW(IDS_CPL_NAME);
+    psh.nPages = id;
+    psh.u3.ppsp = psp;
+    psh.pfnCallback = propsheet_callback;
+
+    /* display the dialog */
+    PropertySheetW(&psh);
+
+    OleUninitialize();
+}
+
+/*********************************************************************
+ * CPlApplet (joy.cpl.@)
+ *
+ * Control Panel entry point
+ *
+ * PARAMS
+ *  hWnd    [I] Handle for the Control Panel Window
+ *  command [I] CPL_* Command
+ *  lParam1 [I] first extra Parameter
+ *  lParam2 [I] second extra Parameter
+ *
+ * RETURNS
+ *  Depends on the command
+ *
+ */
+LONG CALLBACK CPlApplet(HWND hwnd, UINT command, LPARAM lParam1, LPARAM lParam2)
+{
+    static struct JoystickData data;
+    TRACE("(%p, %u, 0x%lx, 0x%lx)\n", hwnd, command, lParam1, lParam2);
+
+    switch (command)
+    {
+        case CPL_INIT:
+            return TRUE;
+
+        case CPL_GETCOUNT:
+            return 1;
+
+        case CPL_INQUIRE:
+        {
+            CPLINFO *appletInfo = (CPLINFO *) lParam2;
+
+            appletInfo->idName = IDS_CPL_NAME;
+            appletInfo->idInfo = IDS_CPL_INFO;
+            appletInfo->lData = 0;
+            return TRUE;
+        }
+
+        case CPL_DBLCLK:
+            display_cpl_sheets(hwnd, &data);
+            break;
+
+        case CPL_STOP:
+            break;
+    }
+
+    return FALSE;
+}
diff --git a/po/ar.po b/po/ar.po
index e153007..64ca1dd 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -3396,6 +3396,23 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+msgid "Game Controllers"
+msgstr "الم&حتويات"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/bg.po b/po/bg.po
index 4fd1908..2df49b4 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -3418,6 +3418,23 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+msgid "Game Controllers"
+msgstr "Контрол на потока"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/ca.po b/po/ca.po
index e5baa7a..49f13ad 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -3460,6 +3460,24 @@
 msgid "High"
 msgstr "Alt"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Crea Control"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Error en convertir l'objecte a tipus primitiu"
diff --git a/po/cs.po b/po/cs.po
index ee1c912..2b1ccfa 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -3464,6 +3464,24 @@
 msgid "High"
 msgstr "Vysoká"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Vytvořit propojení"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/da.po b/po/da.po
index e7d80c9..f164b12 100644
--- a/po/da.po
+++ b/po/da.po
@@ -3436,6 +3436,24 @@
 msgid "High"
 msgstr "&Høj"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Opret control"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Fejl ved konvertering af objekt til primitiv type"
diff --git a/po/de.po b/po/de.po
index 8a5301f..fc7d17e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -3429,6 +3429,24 @@
 msgid "High"
 msgstr "Hoch"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "S&teuerelement erstellen"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Fehler beim Umwandeln des Objektes in einen Grundtyp"
diff --git a/po/el.po b/po/el.po
index daade5f..7d77102 100644
--- a/po/el.po
+++ b/po/el.po
@@ -3355,6 +3355,23 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+msgid "Game Controllers"
+msgstr "&Περιεχόμενα"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/en.po b/po/en.po
index 1b045f5..2a11799 100644
--- a/po/en.po
+++ b/po/en.po
@@ -3420,6 +3420,22 @@
 msgid "High"
 msgstr "High"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr "Joysticks"
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr "Test Joystick"
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr "Test Force Feedback"
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr "Game Controllers"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Error converting object to primitive type"
diff --git a/po/en_US.po b/po/en_US.po
index 06e4f73..58b2504 100644
--- a/po/en_US.po
+++ b/po/en_US.po
@@ -3422,6 +3422,22 @@
 msgid "High"
 msgstr "High"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr "Joysticks"
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr "Test Joystick"
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr "Test Force Feedback"
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr "Game Controllers"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Error converting object to primitive type"
diff --git a/po/eo.po b/po/eo.po
index bc4f855..2f91adf 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -3326,6 +3326,24 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Regado"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/es.po b/po/es.po
index 251d51b..71a7169 100644
--- a/po/es.po
+++ b/po/es.po
@@ -3450,6 +3450,24 @@
 msgid "High"
 msgstr "Alta"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Crear control"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Error al convertir objeto a tipo primitivo"
diff --git a/po/fa.po b/po/fa.po
index ceddb2c..158d621 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -3396,6 +3396,23 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+msgid "Game Controllers"
+msgstr "&محتویات"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/fi.po b/po/fi.po
index f54e878..277010c 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -3417,6 +3417,24 @@
 msgid "High"
 msgstr "Korkea"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Luo kontrolli"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Virhe muunnettaessa objektia alkeistyypiksi"
diff --git a/po/fr.po b/po/fr.po
index a6a9e17..e2c7f01 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -3446,6 +3446,24 @@
 msgid "High"
 msgstr "Haute"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Créer un contrôle"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Erreur lors de la conversion de l'objet vers un type primitif"
diff --git a/po/he.po b/po/he.po
index 6b43b8b..c3d5331 100644
--- a/po/he.po
+++ b/po/he.po
@@ -3413,6 +3413,24 @@
 msgid "High"
 msgstr "גבוהה"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "יצירת פקד"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "שגיאה בהמרת הפריט לטיפוס פרימיטיבי"
diff --git a/po/hi.po b/po/hi.po
index 765124c..417383f 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -3334,6 +3334,22 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/hu.po b/po/hu.po
index 0ebd7ea..1fb1026 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -3452,6 +3452,24 @@
 msgid "High"
 msgstr "Magas"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Vezérlő létrehozása"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Hiba az objektum primitív típusra való konvertálásánál"
diff --git a/po/it.po b/po/it.po
index 3ac9183..650ea8f 100644
--- a/po/it.po
+++ b/po/it.po
@@ -3460,6 +3460,24 @@
 msgid "High"
 msgstr "Alta"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Crea controllo"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Errore nel convertire un oggetto ad un tipo primitivo"
diff --git a/po/ja.po b/po/ja.po
index 45caf300..ab89555 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -3425,6 +3425,24 @@
 msgid "High"
 msgstr "高"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "コントロールを作成"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "オブジェクトを基本型に変換できません"
diff --git a/po/ko.po b/po/ko.po
index 908ab49..3061dfd 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -3412,6 +3412,24 @@
 msgid "High"
 msgstr "높음"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "컨트롤 만들기"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "객페를 기본 형식으로 변환하는 중에 오류 발생"
diff --git a/po/lt.po b/po/lt.po
index d87a43a..0bc35fa 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -3430,6 +3430,24 @@
 msgid "High"
 msgstr "Aukštos"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Sukurti valdiklį"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Klaida keičiant objektą į primityvų tipą"
diff --git a/po/ml.po b/po/ml.po
index ee7f006..1aafd99 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -3334,6 +3334,22 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/nb_NO.po b/po/nb_NO.po
index 164fd97..6b52c68 100644
--- a/po/nb_NO.po
+++ b/po/nb_NO.po
@@ -3586,6 +3586,24 @@
 msgid "High"
 msgstr "&Høy"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Opprett kontroller"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Klarte ikke konvertere objekt til primitiv type"
diff --git a/po/nl.po b/po/nl.po
index 240245d..2c3d89b 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -3477,6 +3477,24 @@
 msgid "High"
 msgstr "Hoog"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Creëren"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Fout bij het omzetten van het object naar een primitief type"
diff --git a/po/or.po b/po/or.po
index 2618bef..cb9543f 100644
--- a/po/or.po
+++ b/po/or.po
@@ -3334,6 +3334,22 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/pa.po b/po/pa.po
index 9fee7cf..d128498 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -3334,6 +3334,22 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/pl.po b/po/pl.po
index fba455c..92d5d38 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -3454,6 +3454,24 @@
 msgid "High"
 msgstr "Najwyższy"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Utwórz kontrolkę"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Błąd przy przekształcaniu obiektu do typu podstawowego"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 4fb4650..3540081 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -3458,6 +3458,24 @@
 msgid "High"
 msgstr "Alta"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Criar controle"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Erro ao converter objeto em tipo primitivo"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index cff3d0f..1aca0be 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -3457,6 +3457,24 @@
 msgid "High"
 msgstr "Alta"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Criar controlo"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Erro ao converter objecto em tipo primitivo"
diff --git a/po/rm.po b/po/rm.po
index b7501c3..3bca258 100644
--- a/po/rm.po
+++ b/po/rm.po
@@ -3362,6 +3362,22 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/ro.po b/po/ro.po
index 265f253..7d5794e 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -3417,6 +3417,24 @@
 msgid "High"
 msgstr "Înal&tă"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Creează un control"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Eroare la convertirea obiectului la un tip primitiv"
diff --git a/po/ru.po b/po/ru.po
index 01b747f..ea2d23e 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -3429,6 +3429,24 @@
 msgid "High"
 msgstr "Высокий"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Создать элемент управления"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Ошибка конвертирования объекта в примитивный тип"
diff --git a/po/sk.po b/po/sk.po
index 92bfc23..b607e02 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -3360,6 +3360,22 @@
 msgid "High"
 msgstr "Vysoké"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/sl.po b/po/sl.po
index 1db32cc..ee320e0 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -3449,6 +3449,24 @@
 msgid "High"
 msgstr "Visoka"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Ustvari nadzornik"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Napaka med pretvarjanjem predmeta v primitivno vrsto"
diff --git a/po/sr_RS@cyrillic.po b/po/sr_RS@cyrillic.po
index 7207c36..20456b1 100644
--- a/po/sr_RS@cyrillic.po
+++ b/po/sr_RS@cyrillic.po
@@ -3449,6 +3449,24 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Направи контролу"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Грешка у претварању објекта у основну врсту"
diff --git a/po/sr_RS@latin.po b/po/sr_RS@latin.po
index 40544bc..1927163 100644
--- a/po/sr_RS@latin.po
+++ b/po/sr_RS@latin.po
@@ -3527,6 +3527,24 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Napravi kontrolu"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Greška u pretvaranju objekta u osnovnu vrstu"
diff --git a/po/sv.po b/po/sv.po
index 6507a49..fcf4b56 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -3412,6 +3412,24 @@
 msgid "High"
 msgstr "Hög"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Create Control"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Kunde inte konvertera objekt till primitiv typ"
diff --git a/po/te.po b/po/te.po
index 96a917c..617ac1a 100644
--- a/po/te.po
+++ b/po/te.po
@@ -3334,6 +3334,22 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/th.po b/po/th.po
index d0f5cf8..c401e35 100644
--- a/po/th.po
+++ b/po/th.po
@@ -3372,6 +3372,23 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+msgid "Game Controllers"
+msgstr "เนื้อหา"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/tr.po b/po/tr.po
index 1ee6f9a..a42127a 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -3321,6 +3321,24 @@
 msgid "High"
 msgstr "Yüksek"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Denetim Oluştur"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/uk.po b/po/uk.po
index 2066821..1df9ca7 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -3443,6 +3443,24 @@
 msgid "High"
 msgstr "Висока"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "Створити елемент управління"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr "Помилка конвертування об'єкту в примітивний тип"
diff --git a/po/wa.po b/po/wa.po
index 6123489..240f361 100644
--- a/po/wa.po
+++ b/po/wa.po
@@ -3381,6 +3381,22 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/wine.pot b/po/wine.pot
index 7c3f088..7bcb96e 100644
--- a/po/wine.pot
+++ b/po/wine.pot
@@ -3296,6 +3296,22 @@
 msgid "High"
 msgstr ""
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+msgid "Game Controllers"
+msgstr ""
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index aef7a75..ff95fe1 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -3336,6 +3336,24 @@
 msgid "High"
 msgstr "高"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "建立控件"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 585fdf8..fe0296f 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -3340,6 +3340,24 @@
 msgid "High"
 msgstr "高"
 
+#: joy.rc:33
+msgid "Joysticks"
+msgstr ""
+
+#: joy.rc:40
+msgid "Test Joystick"
+msgstr ""
+
+#: joy.rc:47
+msgid "Test Force Feedback"
+msgstr ""
+
+#: joy.rc:28
+#, fuzzy
+#| msgid "Create Control"
+msgid "Game Controllers"
+msgstr "建立控制項"
+
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
 msgstr ""
