From 980858186149651df5543b6fc99a4f7db0cdd089 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Tue, 27 Sep 2022 17:03:06 +0200 Subject: WIP --- src/peripheral/inc/peripheral.h | 1 + src/peripheral/src/peripheral.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/peripheral') diff --git a/src/peripheral/inc/peripheral.h b/src/peripheral/inc/peripheral.h index 8f8f73b..2895f54 100644 --- a/src/peripheral/inc/peripheral.h +++ b/src/peripheral/inc/peripheral.h @@ -55,6 +55,7 @@ UTIL_STATIC_ASSERT(!offsetof(struct peripheral_pad, common), UTIL_STATIC_ASSERT(!offsetof(struct peripheral_kbm, common), "unexpected offsetof for struct peripheral_kbm"); +int peripheral_get_default(struct peripheral_cfg *cfg); void peripheral_init(const struct peripheral_cfg *cfg, union peripheral *p); void peripheral_input_set(union peripheral *p, void (*cb)(char, void *)); void peripheral_update(union peripheral *p); diff --git a/src/peripheral/src/peripheral.c b/src/peripheral/src/peripheral.c index eeec4fa..71f81f8 100644 --- a/src/peripheral/src/peripheral.c +++ b/src/peripheral/src/peripheral.c @@ -62,5 +62,14 @@ void peripheral_init(const struct peripheral_cfg *const cfg, int peripheral_get_default(struct peripheral_cfg *const cfg) { - return -1; + *cfg = (const struct peripheral_cfg){0}; + + if (pad_count()) + cfg->type = PERIPHERAL_TYPE_PAD; + else if (keyboard_available() && mouse_available()) + cfg->type = PERIPHERAL_TYPE_KEYBOARD_MOUSE; + else + return -1; + + return 0; } -- cgit v1.2.3