diff --git a/profiles/input/device.h b/profiles/input/device.h
index 7b87ce5..036a889 100644
--- a/profiles/input/device.h
+++ b/profiles/input/device.h
uint8_t input_get_userspace_hid(void);
void input_set_classic_bonded_only(bool state);
bool input_get_classic_bonded_only(void);
-void input_set_auto_sec(bool state);
int input_device_register(struct btd_service *service);
void input_device_unregister(struct btd_service *service);
diff --git a/profiles/input/hog.c b/profiles/input/hog.c
index 017e320..f82648f 100644
--- a/profiles/input/hog.c
+++ b/profiles/input/hog.c
static bool auto_sec = true;
static struct queue *devices = NULL;
-void input_set_auto_sec(bool state)
-{
- auto_sec = state;
-}
-
static void hog_device_accept(struct hog_device *dev, struct gatt_db *db)
{
char name[248];
.auto_connect = true,
};
+static void hog_read_config(void)
+{
+ const char filename[] = CONFIGDIR "/input.conf";
+ GKeyFile *config;
+ GError *err = NULL;
+ bool config_auto_sec;
+
+ config = g_key_file_new();
+ if (!config) {
+ error("Failed to allocate memory for config");
+ return;
+ }
+
+ if (!g_key_file_load_from_file(config, filename, 0, &err)) {
+ if (!g_error_matches(err, G_FILE_ERROR, G_FILE_ERROR_NOENT))
+ error("Parsing %s failed: %s", filename, err->message);
+ g_error_free(err);
+ g_key_file_free(config);
+ return;
+ }
+
+ config_auto_sec = g_key_file_get_boolean(config, "General",
+ "LEAutoSecurity", &err);
+ if (!err) {
+ DBG("input.conf: LEAutoSecurity=%s",
+ config_auto_sec ? "true" : "false");
+ auto_sec = config_auto_sec;
+ } else
+ g_clear_error(&err);
+
+ g_key_file_free(config);
+}
+
static int hog_init(void)
{
int err;
+ hog_read_config();
+
err = suspend_init(suspend_callback, resume_callback);
if (err < 0)
error("Loading suspend plugin failed: %s (%d)", strerror(-err),
diff --git a/profiles/input/manager.c b/profiles/input/manager.c
index 95ca0a7..1c0b612 100644
--- a/profiles/input/manager.c
+++ b/profiles/input/manager.c
config = load_config_file(CONFIGDIR "/input.conf");
if (config) {
int idle_timeout;
- gboolean classic_bonded_only, auto_sec;
+ gboolean classic_bonded_only;
char *uhid_enabled;
idle_timeout = g_key_file_get_integer(config, "General",
} else
g_clear_error(&err);
- auto_sec = g_key_file_get_boolean(config, "General",
- "LEAutoSecurity", &err);
- if (!err) {
- DBG("input.conf: LEAutoSecurity=%s",
- auto_sec ? "true" : "false");
- input_set_auto_sec(auto_sec);
- } else
- g_clear_error(&err);
-
}
btd_profile_register(&input_profile);