- // save key config
- keys_write(fn, "bind", currentConfig.KeyBinds, defaultConfig.KeyBinds, keyNames, no_defaults);
- keys_write(fn, "bind_joy0", currentConfig.JoyBinds[0], defaultConfig.JoyBinds[0], joyKeyNames, 1);
- keys_write(fn, "bind_joy1", currentConfig.JoyBinds[1], defaultConfig.JoyBinds[1], joyKeyNames, 1);
- keys_write(fn, "bind_joy2", currentConfig.JoyBinds[2], defaultConfig.JoyBinds[2], joyKeyNames, 1);
- keys_write(fn, "bind_joy3", currentConfig.JoyBinds[3], defaultConfig.JoyBinds[3], joyKeyNames, 1);
+ /* input: save device names */
+ for (t = 0; t < IN_MAX_DEVS; t++)
+ {
+ const int *binds = in_get_dev_binds(t);
+ const char *name = in_get_dev_name(t);
+ if (binds == NULL || name == NULL)
+ continue;
+
+ fprintf(fn, "input%d = %s" NL, t, name);
+ }
+
+ /* input: save binds */
+ for (t = 0; t < IN_MAX_DEVS; t++)
+ {
+ const int *binds = in_get_dev_binds(t);
+ const char *name = in_get_dev_name(t);
+ char strbind[16];
+ int count;
+
+ if (binds == NULL || name == NULL)
+ continue;
+
+ sprintf(strbind, "bind%d", t);
+ if (t == 0) strbind[4] = 0;
+
+ count = in_get_dev_bind_count(t);
+ keys_write(fn, strbind, t, binds, no_defaults);
+ }
+
+#if 0
+ /* old stuff */
+ keys_write(fn, "bind", currentConfig.KeyBinds, defaultConfig.KeyBinds, keyNames, PLAT_MAX_KEYS, no_defaults);
+#if PLAT_HAVE_JOY
+ keys_write(fn, "bind_joy0", currentConfig.JoyBinds[0], defaultConfig.JoyBinds[0], joyKeyNames, 32, 1);
+ keys_write(fn, "bind_joy1", currentConfig.JoyBinds[1], defaultConfig.JoyBinds[1], joyKeyNames, 32, 1);
+ keys_write(fn, "bind_joy2", currentConfig.JoyBinds[2], defaultConfig.JoyBinds[2], joyKeyNames, 32, 1);
+ keys_write(fn, "bind_joy3", currentConfig.JoyBinds[3], defaultConfig.JoyBinds[3], joyKeyNames, 32, 1);
+#endif
+#endif