From 84a6cdd081eb91a715106b12982571c7883461d9 Mon Sep 17 00:00:00 2001 From: theyareonit Date: Sat, 21 Sep 2024 20:12:53 +0200 Subject: [PATCH] fix devices not being detected sometimes --- resources/linux-input.exe.so | Bin 146856 -> 152912 bytes src/linux/linux-input.cpp | 70 ++++++++++++++++++++++------------- 2 files changed, 45 insertions(+), 25 deletions(-) diff --git a/resources/linux-input.exe.so b/resources/linux-input.exe.so index 537a8c943df008d1fa83c9e8acaf4cd4fac1a653..12cbdb30c7e28f35637750abcc52a0a0a7266a15 100644 GIT binary patch literal 152912 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 z9z6(N-6kB5cm%IIO*kIe2wpuV9FJfGuPr7V!!3AiHQ_wuglwA$pB~gUj9wG2p1mUR zZWBJkq~CACPcq?qO}Nd3518JwAo@vrAG2!z} z_;M3I--NF=;R{UoS`(gS!mW=M0~P}o0~P}o0~P}o0~Q1SHyHS9@{BK?Z678%I}@M1 z8MoN&y@B}Q{(VM@`KIsxhO3qr76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo z76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo76TRo{}~3HZO^$HHI;K z>K?o&pOlSHlwV6V?i(1!b?Oev$5Fmt!V8Kc4d0BL5lXPoR9N$bUfj>6EvL{GTX)BIQ#={tuL&L3u;uU#0v>lpp#Rwf{xR z+bBOE@;fMhGUfY4{wd1Oq8y-kLsg)FWati%_0C0BA z`;3w^4mmr9oX>uIzVq1w3C_4(&Q}fvrog}@Y#?cPpgQ@a+)(+yCeQe?b@AgUYcyw+ zJKGk=L(_0}{5deu*}3?ct1uR)4qagwgO%uuU5PhBG47I`)pL_i+5|n=sSbUn@k;jg z)j*g18$OldtGfF?la|9#XWNG<9akNEiiY$vG%tX=_fe;_qi^sojFavccCwny*>S+x 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 Te*3+Q{?}S@zEmJ6e02T`SQP*Q literal 146856 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 ap0EAke)$@y>s9b4Jw2+gQ~)YJo&N%X{FVg( diff --git a/src/linux/linux-input.cpp b/src/linux/linux-input.cpp index 21d84b0..2c4c97e 100644 --- a/src/linux/linux-input.cpp +++ b/src/linux/linux-input.cpp @@ -4,9 +4,11 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -83,39 +85,57 @@ int main() { return 1; } - for (int i = 0;; i++) { - std::string path = "/dev/input/event" + std::to_string(i); - int fd = open(path.c_str(), O_RDONLY); - if (fd == -1) break; - - libevdev* dev = nullptr; - int rc = libevdev_new_from_fd(fd, &dev); - if (rc < 0) { - std::cerr << "[CBF] Failed to create evdev device: " << strerror(-rc) << std::endl; - close(fd); - continue; - } + // New code to read all input devices + const char* input_dir = "/dev/input"; + DIR* dir = opendir(input_dir); + if (dir == nullptr) { + std::cerr << "[CBF] Failed to open directory " << input_dir << ": " << strerror(errno) << std::endl; + return 1; + } + struct dirent* entry; + while ((entry = readdir(dir)) != nullptr) { + std::string filename(entry->d_name); + if (filename.find("event") == 0) { + std::string path = std::string(input_dir) + "/" + filename; + int fd = open(path.c_str(), O_RDONLY); + if (fd == -1) { + std::cerr << "[CBF] Failed to open " << path << ": " << strerror(errno) << std::endl; + continue; + } - int bus = libevdev_get_id_bustype(dev); - if (bus == BUS_USB || bus == BUS_BLUETOOTH || bus == BUS_I8042) { - devices.push_back(dev); - - epoll_event ev; - ev.events = EPOLLIN; - ev.data.ptr = dev; - if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, fd, &ev) == -1) { - std::cerr << "[CBF] Failed to add fd to epoll: " << strerror(errno) << std::endl; - libevdev_free(dev); + libevdev* dev = nullptr; + int rc = libevdev_new_from_fd(fd, &dev); + if (rc < 0) { + std::cerr << "[CBF] Failed to create evdev device for " << path << ": " << strerror(-rc) << std::endl; close(fd); continue; } - } else { - libevdev_free(dev); - close(fd); + + int bus = libevdev_get_id_bustype(dev); + if (bus == BUS_USB || bus == BUS_BLUETOOTH || bus == BUS_I8042) { + devices.push_back(dev); + + epoll_event ev; + ev.events = EPOLLIN; + ev.data.ptr = dev; + if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, fd, &ev) == -1) { + std::cerr << "[CBF] Failed to add fd to epoll for " << path << ": " << strerror(errno) << std::endl; + libevdev_free(dev); + close(fd); + continue; + } + + std::cerr << "[CBF] Added device: " << path << std::endl; + } else { + libevdev_free(dev); + close(fd); + } } } + closedir(dir); + signal(SIGINT, stop); signal(SIGTERM, stop);