diff options
author | xiphon <xiphon@protonmail.com> | 2018-10-18 04:37:30 +0000 |
---|---|---|
committer | xiphon <xiphon@protonmail.com> | 2018-10-18 07:42:29 +0300 |
commit | 825d836f9f6ee724cf5b44ce720ad0bc26730ba0 (patch) | |
tree | dda02fd8177adc59dd1d4b44f9bfa075a1dc1983 | |
parent | Merge pull request #4610 (diff) | |
download | monero-825d836f9f6ee724cf5b44ce720ad0bc26730ba0.tar.xz |
device: fixed Ledger Nano S device selection
-rw-r--r-- | src/device/device_io_hid.cpp | 6 | ||||
-rw-r--r-- | src/device/device_io_hid.hpp | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/device/device_io_hid.cpp b/src/device/device_io_hid.cpp index 562aca8b8..0296914e1 100644 --- a/src/device/device_io_hid.cpp +++ b/src/device/device_io_hid.cpp @@ -72,7 +72,7 @@ namespace hw { this->connect(p->vid, p->pid, p->interface_number, p->usage_page, p->interface_OR_page); } - void device_io_hid::connect(unsigned int vid, unsigned int pid, unsigned int interface_number, unsigned int usage_page, bool interface_OR_page ) { + void device_io_hid::connect(unsigned int vid, unsigned int pid, int interface_number, unsigned short usage_page, bool interface_OR_page ) { hid_device_info *hwdev_info, *hwdev_info_list; hid_device *hwdev; @@ -83,8 +83,8 @@ namespace hw { hwdev = NULL; hwdev_info = hwdev_info_list; while (hwdev_info) { - if ((interface_OR_page && ((usage_page == 0xffa0) || (interface_number == 0))) || - ((usage_page == 0xffa0) && (interface_number == 0)) ) { + if ((interface_OR_page && ((hwdev_info->usage_page == usage_page) || (hwdev_info->interface_number == interface_number))) || + ((hwdev_info->usage_page == usage_page) && (hwdev_info->interface_number == interface_number))) { MDEBUG("HID Device found: " << safe_hid_path(hwdev_info)); hwdev = hid_open_path(hwdev_info->path); break; diff --git a/src/device/device_io_hid.hpp b/src/device/device_io_hid.hpp index 6fd15a1d1..ffd3f534f 100644 --- a/src/device/device_io_hid.hpp +++ b/src/device/device_io_hid.hpp @@ -52,8 +52,8 @@ namespace hw { struct hid_conn_params { unsigned int vid; unsigned int pid; - unsigned int interface_number; - unsigned int usage_page; + int interface_number; + unsigned short usage_page; bool interface_OR_page ; }; @@ -100,7 +100,7 @@ namespace hw { void init(); void connect(void *params); - void connect(unsigned int vid, unsigned int pid, unsigned int interface_number, unsigned int usage_page, bool interface_OR_page ); + void connect(unsigned int vid, unsigned int pid, int interface_number, unsigned short usage_page, bool interface_OR_page ); bool connected() const; int exchange(unsigned char *command, unsigned int cmd_len, unsigned char *response, unsigned int max_resp_len); void disconnect(); |