summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/input_default.cpp9
-rw-r--r--main/input_default.h7
2 files changed, 16 insertions, 0 deletions
diff --git a/main/input_default.cpp b/main/input_default.cpp
index 0561f2bb34..a9f643c785 100644
--- a/main/input_default.cpp
+++ b/main/input_default.cpp
@@ -1214,6 +1214,15 @@ int InputDefault::get_joy_button_index_from_string(String p_button) {
ERR_FAIL_V(-1);
}
+int InputDefault::get_unused_joy_id() {
+ for (int i=0;i<JOYPADS_MAX;i++) {
+ if (!joy_names.has(i) || !joy_names[i].connected) {
+ return i;
+ }
+ }
+ return -1;
+}
+
String InputDefault::get_joy_axis_string(int p_axis) {
ERR_FAIL_INDEX_V(p_axis, JOY_AXIS_MAX, "");
return _axes[p_axis];
diff --git a/main/input_default.h b/main/input_default.h
index 3e41c494c1..78bc0f4355 100644
--- a/main/input_default.h
+++ b/main/input_default.h
@@ -134,6 +134,11 @@ public:
HAT_LEFT,
HAT_MAX,
};
+
+ enum {
+ JOYPADS_MAX = 16,
+ };
+
struct JoyAxis {
int min;
float value;
@@ -243,6 +248,8 @@ public:
virtual int get_joy_axis_index_from_string(String p_axis);
virtual int get_joy_button_index_from_string(String p_button);
+ int get_unused_joy_id();
+
bool is_joy_mapped(int p_device);
String get_joy_guid_remapped(int p_device) const;
void set_fallback_mapping(String p_guid);