From 75655194fb08d8ea92cd72ca42d6bd0bea191f05 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Fri, 14 Jan 2022 20:55:44 +0100 Subject: [PATCH] Do not pass scrcpy_options to keyboard inject The components should be configurable independently of the global scrcpy_options instance: their configuration could be provided separately, like it is the case for example for some screen parameters. For consistency, keyboard injection should not depend on scrcpy_options. --- app/src/keyboard_inject.c | 7 ++++--- app/src/keyboard_inject.h | 3 ++- app/src/scrcpy.c | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/keyboard_inject.c b/app/src/keyboard_inject.c index 76357d85..b6dd69fb 100644 --- a/app/src/keyboard_inject.c +++ b/app/src/keyboard_inject.c @@ -325,10 +325,11 @@ sc_key_processor_process_text(struct sc_key_processor *kp, void sc_keyboard_inject_init(struct sc_keyboard_inject *ki, struct controller *controller, - const struct scrcpy_options *options) { + enum sc_key_inject_mode key_inject_mode, + bool forward_key_repeat) { ki->controller = controller; - ki->key_inject_mode = options->key_inject_mode; - ki->forward_key_repeat = options->forward_key_repeat; + ki->key_inject_mode = key_inject_mode; + ki->forward_key_repeat = forward_key_repeat; ki->repeat = 0; diff --git a/app/src/keyboard_inject.h b/app/src/keyboard_inject.h index edd5b1ba..9b25425a 100644 --- a/app/src/keyboard_inject.h +++ b/app/src/keyboard_inject.h @@ -25,6 +25,7 @@ struct sc_keyboard_inject { void sc_keyboard_inject_init(struct sc_keyboard_inject *ki, struct controller *controller, - const struct scrcpy_options *options); + enum sc_key_inject_mode key_inject_mode, + bool forward_key_repeat); #endif diff --git a/app/src/scrcpy.c b/app/src/scrcpy.c index 3e50aaca..474b007b 100644 --- a/app/src/scrcpy.c +++ b/app/src/scrcpy.c @@ -535,7 +535,8 @@ aoa_hid_end: // keyboard_input_mode may have been reset if HID mode failed if (options->keyboard_input_mode == SC_KEYBOARD_INPUT_MODE_INJECT) { sc_keyboard_inject_init(&s->keyboard_inject, &s->controller, - options); + options->key_inject_mode, + options->forward_key_repeat); kp = &s->keyboard_inject.key_processor; }