From d5223ab0766f1da7661d493de712e7a2e09d6f79 Mon Sep 17 00:00:00 2001 From: SpiritCroc Date: Sun, 7 Apr 2019 09:55:50 +0200 Subject: [PATCH] [TESTING] Close ctrl device after init for piped mode Fixes volume keys when using patched hidapi, see https://github.com/duncanthrax/roccat-vulcan/issues/3#issuecomment-480533700 --- src/hid.c | 5 +++++ src/roccat-vulcan.c | 2 ++ src/roccat-vulcan.h | 1 + 3 files changed, 8 insertions(+) diff --git a/src/hid.c b/src/hid.c index fadc3c9..21edb70 100644 --- a/src/hid.c +++ b/src/hid.c @@ -59,6 +59,11 @@ int rv_open_device() { return -1; } +void rv_close_ctrl_device() { + rv_printf(RV_LOG_NORMAL, "close"); + hid_close(ctrl_handle); +} + int rv_wait_for_ctrl_device() { unsigned char buffer[] = { 0x04, 0x00, 0x00, 0x00 }; int res; diff --git a/src/roccat-vulcan.c b/src/roccat-vulcan.c index 87b6f54..f2404a4 100644 --- a/src/roccat-vulcan.c +++ b/src/roccat-vulcan.c @@ -199,6 +199,8 @@ int main(int argc, char* argv[]) return RV_FAILURE; }; + rv_close_ctrl_device(); + return rv_fx_piped(file_name); } else if (fx_mode == FX_MODE_TEST_LOOP) { diff --git a/src/roccat-vulcan.h b/src/roccat-vulcan.h index 11598c4..df23357 100644 --- a/src/roccat-vulcan.h +++ b/src/roccat-vulcan.h @@ -56,6 +56,7 @@ int rv_get_ctrl_report(unsigned char report_id); int rv_set_ctrl_report(unsigned char report_id, int mode, int byteopt); int rv_send_led_map(rv_rgb_map *map); int rv_send_init(int type, int opt); +void rv_close_ctrl_device(); // Logging I/O functions (output.c) void rv_print_buffer(unsigned char *buffer, int len);