diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2017-02-26 21:30:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-26 21:30:24 +0100 |
commit | 34a0aa6900880235f2ca78a7631f30cd3e3ecb2c (patch) | |
tree | 3287927e4f90dc9a6c0c1d9487780407fdc610fc /platform/osx/joypad_osx.cpp | |
parent | 3de1415b6a0e3ad5bb39b6bcc3958305b0d415d4 (diff) | |
parent | a175ac7032407af8e0ffe9fcb23edd5b57c6548f (diff) |
Merge pull request #7862 from Hinsbart/joypad_connections
Better handling of joypad device IDs.
Diffstat (limited to 'platform/osx/joypad_osx.cpp')
-rw-r--r-- | platform/osx/joypad_osx.cpp | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/platform/osx/joypad_osx.cpp b/platform/osx/joypad_osx.cpp index 5d25017aa6..98bcc8dc73 100644 --- a/platform/osx/joypad_osx.cpp +++ b/platform/osx/joypad_osx.cpp @@ -275,7 +275,6 @@ void JoypadOSX::_device_removed(int p_id) { input->joy_connection_changed(p_id, false, ""); device_list[device].free(); device_list.remove(device); - attached_devices[p_id] = false; } static String _hex_str(uint8_t p_byte) { @@ -307,7 +306,7 @@ bool JoypadOSX::configure_joypad(IOHIDDeviceRef p_device_ref, joypad* p_joy) { } name = c_name; - int id = get_free_joy_id(); + int id = input->get_unused_joy_id(); ERR_FAIL_COND_V(id == -1, false); p_joy->id = id; int vendor = 0; @@ -510,16 +509,6 @@ void JoypadOSX::joypad_vibration_stop(int p_id, uint64_t p_timestamp) { FFEffectStop(joy->ff_object); } -int JoypadOSX::get_free_joy_id() { - for (int i = 0; i < JOYPADS_MAX; i++) { - if (!attached_devices[i]) { - attached_devices[i] = true; - return i; - } - } - return -1; -} - int JoypadOSX::get_joy_index(int p_id) const { for (int i = 0; i < device_list.size(); i++) { if (device_list[i].id == p_id) return i; @@ -582,10 +571,6 @@ JoypadOSX::JoypadOSX() self = this; input = (InputDefault*)Input::get_singleton(); - for (int i = 0; i < JOYPADS_MAX; i++) { - attached_devices[i] = false; - } - int okay = 1; const void *vals[] = { (void *) create_match_dictionary(kHIDPage_GenericDesktop, kHIDUsage_GD_Joystick, &okay), |