[gnome-games] libretro: Allow keyboard input mode



commit f52625ed4ec1a270cac4e825a6c615960dbe1534
Author: Yetizone <andreii lisita gmail com>
Date:   Wed Nov 14 20:26:57 2018 +0200

    libretro: Allow keyboard input mode
    
    Add LibretroInputCapabilities and pass an instance of it to
    RetroRunner.

 plugins/libretro/src/libretro-input-capabilities.vala | 13 +++++++++++++
 plugins/libretro/src/libretro-plugin.vala             |  3 ++-
 plugins/libretro/src/meson.build                      |  1 +
 3 files changed, 16 insertions(+), 1 deletion(-)
---
diff --git a/plugins/libretro/src/libretro-input-capabilities.vala 
b/plugins/libretro/src/libretro-input-capabilities.vala
new file mode 100644
index 00000000..de7f31a9
--- /dev/null
+++ b/plugins/libretro/src/libretro-input-capabilities.vala
@@ -0,0 +1,13 @@
+public class Games.LibretroInputCapabilities : Object, InputCapabilities {
+       public bool get_allow_classic_gamepads () throws Error {
+               return true;
+       }
+
+       public bool get_allow_analog_gamepads () throws Error {
+               return true;
+       }
+
+       public bool get_allow_keyboard_mode () {
+               return true;
+       }
+}
diff --git a/plugins/libretro/src/libretro-plugin.vala b/plugins/libretro/src/libretro-plugin.vala
index e12737da..573f07d7 100644
--- a/plugins/libretro/src/libretro-plugin.vala
+++ b/plugins/libretro/src/libretro-plugin.vala
@@ -39,7 +39,8 @@ private class Games.LibretroPlugin : Object, Plugin {
                var uid = new LibretroUid (core_descriptor);
                var title = new LibretroTitle (core_descriptor);
                var icon = new LibretroIcon (core_descriptor);
-               var runner = new RetroRunner.for_core_descriptor (core_descriptor, uid, title);
+               var input_capabilities = new LibretroInputCapabilities ();
+               var runner = new RetroRunner.for_core_descriptor (core_descriptor, uid, title, 
input_capabilities);
 
                var game = new GenericGame (uid, title, platform, runner);
                game.set_icon (icon);
diff --git a/plugins/libretro/src/meson.build b/plugins/libretro/src/meson.build
index e8569b93..76296937 100644
--- a/plugins/libretro/src/meson.build
+++ b/plugins/libretro/src/meson.build
@@ -1,6 +1,7 @@
 vala_sources = [
   'libretro-error.vala',
   'libretro-icon.vala',
+  'libretro-input-capabilities.vala',
   'libretro-plugin.vala',
   'libretro-title.vala',
   'libretro-uid.vala',


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]