[retro-gtk/build-doc: 2/2] WIP: Add, build, and deploy the reference manual
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [retro-gtk/build-doc: 2/2] WIP: Add, build, and deploy the reference manual
- Date: Sun, 12 Apr 2020 18:32:19 +0000 (UTC)
commit 2192de2a9feb1cc88e20fcd2a6f86451622e549f
Author: Adrien Plazas <kekun plazas laposte net>
Date: Mon Jan 20 18:50:14 2020 +0100
WIP: Add, build, and deploy the reference manual
.gitlab-ci.yml | 37 +++++++-
doc/meson.build | 45 ++++++++++
doc/retro-gtk-doc.xml | 88 +++++++++++++++++++
doc/xml/gtkdocentities.ent.in | 9 ++
doc/xml/meson.build | 12 +++
flatpak/org.gnome.Retro.Reference.json | 59 +++++++++++++
meson.build | 17 ++--
meson_options.txt | 4 +
retro-gtk/retro-controller.h | 11 +++
retro-gtk/retro-gtk-version.h.in | 3 +-
retro-gtk/retro-pixdata-private.h | 1 +
retro-gtk/retro-pixdata.c | 4 +-
shared/retro-input-private.h | 47 ++++++++++
shared/retro-keyboard-key-private.h | 156 +++++++++++++++++++++++++++++++++
14 files changed, 482 insertions(+), 11 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d345391..2c97e97 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,7 @@ stages:
- build
- test
- review
+ - publish
api-visibility:
stage: lint
@@ -35,7 +36,7 @@ flatpak:tests:
MANIFEST_PATH: "flatpak/org.gnome.Retro.UnitTests.json"
FLATPAK_MODULE: "retro-gtk"
FLATPAK_BUILD_DIR: "unit-tests"
- MESON_ARGS: "--libdir=lib -Dinstall-tests=true -Dpulseaudio=disabled"
+ MESON_ARGS: "--libdir=lib -Dinstall-tests=true -Dpulseaudio=disabled -Dbuild-doc=false"
script:
- flatpak-builder --user --disable-rofiles-fuse --stop-at=${FLATPAK_MODULE} ${FLATPAK_BUILD_DIR}
${MANIFEST_PATH}
- flatpak build ${FLATPAK_BUILD_DIR} meson --prefix=/app ${MESON_ARGS} _build_tests
@@ -53,7 +54,7 @@ flatpak:demo:
RUNTIME_REPO: "https://sdk.gnome.org/gnome-nightly.flatpakrepo"
FLATPAK_MODULE: "retro-gtk"
FLATPAK_BUILD_DIR: "app"
- MESON_ARGS: ""
+ MESON_ARGS: "-Dbuild-doc=false"
script:
- flatpak-builder --user --disable-rofiles-fuse --stop-at=${FLATPAK_MODULE} ${FLATPAK_BUILD_DIR}
${MANIFEST_PATH}
- flatpak build ${FLATPAK_BUILD_DIR} meson --prefix=/app ${MESON_ARGS} _build
@@ -66,10 +67,32 @@ flatpak:demo:
- _build/meson-logs/meson-log.txt
expire_in: 2 days
+flatpak:reference:
+ image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
+ stage: build
+ tags:
+ - flatpak
+ variables:
+ MANIFEST_PATH: "flatpak/org.gnome.Retro.Reference.json"
+ FLATPAK_MODULE: "retro-gtk"
+ FLATPAK_BUILD_DIR: "app"
+ MESON_ARGS: "-Ddemos=false -Dbuild-tests=false -Dbuild-doc=true"
+ script:
+ - flatpak-builder --stop-at=${FLATPAK_MODULE} ${FLATPAK_BUILD_DIR} ${MANIFEST_PATH}
+ - flatpak build ${FLATPAK_BUILD_DIR} meson --prefix=/app ${MESON_ARGS} _build
+ - flatpak build ${FLATPAK_BUILD_DIR} ninja -C _build
+ - flatpak build ${FLATPAK_BUILD_DIR} ninja -C _build retro-gtk-doc 2>&1 | tee _build/doc/buildlog
+ - if grep -qs 'warning' _build/doc/buildlog; then exit 1; fi
+ - mv _build/doc/html/ _reference/
+ artifacts:
+ paths:
+ - _reference
+
review:
stage: review
dependencies:
- flatpak:demo
+ - flatpak:reference
- flatpak:tests
script:
- echo "Generating flatpak deployment"
@@ -98,3 +121,13 @@ stop_review:
- master@GNOME/retro-gtk
- gnome-3-.*
- tags
+
+pages:
+ stage: publish
+ script:
+ - mv _reference/ public/
+ artifacts:
+ paths:
+ - public
+ only:
+ - master
diff --git a/doc/meson.build b/doc/meson.build
new file mode 100644
index 0000000..8e405f8
--- /dev/null
+++ b/doc/meson.build
@@ -0,0 +1,45 @@
+subdir('xml')
+
+glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
+glib_docpath = glib_prefix / 'share' / 'gtk-doc' / 'html'
+glib_docpath = '/usr/share/runtime/docs/gtk-doc/html'
+
+docpath = get_option('datadir') / 'gtk-doc' / 'html'
+
+private_headers = [
+]
+
+content_files = [
+]
+
+gnome.gtkdoc(
+ 'retro-gtk',
+ main_xml: 'retro-gtk-doc.xml',
+ src_dir: [
+ meson.source_root() / 'retro-gtk',
+ meson.build_root() / 'retro-gtk',
+ meson.source_root() / 'shared',
+ meson.build_root() / 'shared',
+ ],
+ dependencies: retro_gtk_dep,
+ gobject_typesfile: 'retro-gtk.types',
+ scan_args: [
+ '--rebuild-types',
+ '--ignore-headers=' + ' '.join(private_headers),
+ ],
+ mkdb_args: [
+ '--default-includes=retro-gtk/retro-gtk.h',
+ ],
+ fixxref_args: [
+ '--html-dir=@0@'.format(docpath),
+ '--extra-dir=@0@'.format(glib_docpath / 'glib'),
+ '--extra-dir=@0@'.format(glib_docpath / 'gobject'),
+ '--extra-dir=@0@'.format(glib_docpath / 'gio'),
+ '--extra-dir=@0@'.format(glib_docpath / 'gi'),
+ '--extra-dir=@0@'.format(glib_docpath / 'gtk3'),
+ '--extra-dir=@0@'.format(glib_docpath / 'gdk-pixbuf'),
+ ],
+ install_dir: 'retro-gtk',
+ content_files: content_files,
+ install: get_option('install-doc'),
+)
diff --git a/doc/retro-gtk-doc.xml b/doc/retro-gtk-doc.xml
new file mode 100644
index 0000000..1dcaed1
--- /dev/null
+++ b/doc/retro-gtk-doc.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+ <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
+ %gtkdocentities;
+]>
+<book id="index">
+ <bookinfo>
+ <title>&package_name; Reference Manual</title>
+ <releaseinfo>
+ <para>This document is the API reference for &package_name; &package_version;.</para>
+ <para>
+ <ulink type="http" url="&package_url;">RetroGTK</ulink> is a library to help you write apps for
GTK/GNOME based mobile phones.
+ </para>
+ <para>
+ If you find any issues in this API reference, please report it using
+ <ulink type="http" url="&package_bugreport;">the bugtracker</ulink>.
+ </para>
+ </releaseinfo>
+
+ <copyright>
+ <year>2014-2020</year>
+ <holder>Adrien Plazas</holder>
+ </copyright>
+ </bookinfo>
+
+ <chapter id="intro">
+ <title>Introduction</title>
+
+ <!-- <xi:include href="build-howto.xml"/> -->
+ <!-- <xi:include href="visual-index.xml"/> -->
+ </chapter>
+
+ <chapter id="core-api">
+ <title>Widgets and Objects</title>
+ <xi:include href="xml/retro-controller-codes.xml"/>
+ <xi:include href="xml/retro-controller-iterator.xml"/>
+ <xi:include href="xml/retro-controller-type.xml"/>
+ <xi:include href="xml/retro-controller.xml"/>
+ <xi:include href="xml/retro-core-descriptor.xml"/>
+ <xi:include href="xml/retro-core-view.xml"/>
+ <xi:include href="xml/retro-core.xml"/>
+ <xi:include href="xml/retro-input.xml"/>
+ <xi:include href="xml/retro-key-joypad-mapping.xml"/>
+ <xi:include href="xml/retro-log.xml"/>
+ <xi:include href="xml/retro-memory-type.xml"/>
+ <xi:include href="xml/retro-module-iterator.xml"/>
+ <xi:include href="xml/retro-module-query.xml"/>
+ <xi:include href="xml/retro-option-iterator.xml"/>
+ <xi:include href="xml/retro-option.xml"/>
+ <xi:include href="xml/retro-pixbuf.xml"/>
+ <xi:include href="xml/retro-pixdata.xml"/>
+ <xi:include href="xml/retro-rumble-effect.xml"/>
+ <xi:include href="xml/retro-video-filter.xml"/>
+ </chapter>
+
+ <chapter id="helpers">
+ <title>Helpers</title>
+ <xi:include href="xml/retro-gtk-version.xml"/>
+ <!-- <xi:include href="xml/hdy-main.xml"/> -->
+ <!-- <xi:include href="xml/hdy-string-utf8.xml"/> -->
+ <!-- <xi:include href="xml/hdy-fold.xml"/> -->
+ <!-- <xi:include href="xml/hdy-list-box.xml"/> -->
+ </chapter>
+
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <!-- <xi:include href="xml/tree_index.sgml"/> -->
+ </chapter>
+
+ <index id="api-index-full">
+ <title>API Index</title>
+ <!-- <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include> -->
+ </index>
+
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <!-- <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include> -->
+ </index>
+
+ <index id="annotations-glossary">
+ <title>Annotations glossary</title>
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+ </index>
+
+</book>
diff --git a/doc/xml/gtkdocentities.ent.in b/doc/xml/gtkdocentities.ent.in
new file mode 100644
index 0000000..45d322c
--- /dev/null
+++ b/doc/xml/gtkdocentities.ent.in
@@ -0,0 +1,9 @@
+<!ENTITY package "@PACKAGE@">
+<!ENTITY package_bugreport "@PACKAGE_BUGREPORT@">
+<!ENTITY package_name "@PACKAGE_NAME@">
+<!ENTITY package_string "@PACKAGE_STRING@">
+<!ENTITY package_tarname "@PACKAGE_TARNAME@">
+<!ENTITY package_url "@PACKAGE_URL@">
+<!ENTITY package_version "@PACKAGE_VERSION@">
+<!ENTITY package_api_version "@PACKAGE_API_VERSION@">
+<!ENTITY package_ver_str "@PACKAGE_API_NAME@">
diff --git a/doc/xml/meson.build b/doc/xml/meson.build
new file mode 100644
index 0000000..78bc2bc
--- /dev/null
+++ b/doc/xml/meson.build
@@ -0,0 +1,12 @@
+ent_conf = configuration_data()
+ent_conf.set('PACKAGE', 'retro-gtk')
+ent_conf.set('PACKAGE_BUGREPORT', 'https://gitlab.gnome.org/GNOME/retro-gtk/issues')
+ent_conf.set('PACKAGE_NAME', 'retro-gtk')
+ent_conf.set('PACKAGE_STRING', 'retro-gtk')
+ent_conf.set('PACKAGE_TARNAME', 'retro-gtk-' + retro_gtk_version)
+ent_conf.set('PACKAGE_URL', 'https://gitlab.gnome.org/GNOME/retro-gtk')
+ent_conf.set('PACKAGE_VERSION', retro_gtk_version)
+ent_conf.set('PACKAGE_API_VERSION', retro_gtk_api_version)
+ent_conf.set('PACKAGE_API_NAME', retro_gtk_module)
+configure_file(input: 'gtkdocentities.ent.in', output: 'gtkdocentities.ent', configuration: ent_conf)
+
diff --git a/flatpak/org.gnome.Retro.Reference.json b/flatpak/org.gnome.Retro.Reference.json
new file mode 100644
index 0000000..d564f27
--- /dev/null
+++ b/flatpak/org.gnome.Retro.Reference.json
@@ -0,0 +1,59 @@
+{
+ "app-id" : "org.gnome.Retro.DemoSamplesTest",
+ "runtime" : "org.gnome.Platform",
+ "runtime-version" : "master",
+ "sdk" : "org.gnome.Sdk",
+ "command" : "retro-demo",
+ "tags" : [
+ "devel",
+ "development",
+ "nightly"
+ ],
+ "desktop-file-name-suffix" : " (Development)",
+ "sdk-extensions": [
+ "org.gnome.Sdk.Docs"
+ ],
+ "finish-args" : [
+ /* GTK+ Inspector access */
+ "--env=DCONF_USER_CONFIG_DIR=.config/dconf",
+ /* X11 + XShm access */
+ "--share=ipc",
+ "--socket=x11",
+ /* Wayland access */
+ "--socket=wayland",
+ /* PulseAudio access */
+ "--device=dri",
+ "--socket=pulseaudio"
+ ],
+ "cleanup" : [
+ "/include",
+ "/lib/pkgconfig",
+ "/share/pkgconfig",
+ "/share/aclocal",
+ "/man",
+ "/share/man",
+ "/share/gtk-doc",
+ "*.la",
+ "*.a",
+ "/lib/girepository-1.0",
+ "/share/dbus-1",
+ "/share/doc",
+ "/share/gir-1.0"
+ ],
+ "modules" : [
+ {
+ "name" : "retro-gtk",
+ "buildsystem" : "meson",
+ "builddir" : true,
+ "config-opts" : [
+ "--libdir=lib"
+ ],
+ "sources" : [
+ {
+ "type" : "git",
+ "url" : "https://gitlab.gnome.org/GNOME/retro-gtk.git"
+ }
+ ]
+ }
+ ]
+}
diff --git a/meson.build b/meson.build
index 58db859..aafcd78 100644
--- a/meson.build
+++ b/meson.build
@@ -50,6 +50,9 @@ subdir('retro-gtk')
if get_option('build-tests')
subdir('tests')
endif
+if get_option('build-doc')
+ subdir('doc')
+endif
if get_option('demos')
subdir('demos')
endif
@@ -59,13 +62,15 @@ summary = [
'------',
'retro-gtk @0@ (@1@)'.format(retro_gtk_version, retro_gtk_api_version),
'',
- ' Introspection: @0@'.format(get_option('introspection')),
- ' Build tests: @0@'.format(get_option('build-tests')),
- ' Install tests: @0@'.format(get_option('install-tests')),
- ' Demos: @0@'.format(get_option('demos')),
+ ' Introspection: @0@'.format(get_option('introspection')),
+ ' Build tests: @0@'.format(get_option('build-tests')),
+ ' Install tests: @0@'.format(get_option('install-tests')),
+ ' Build documentation: @0@'.format(get_option('build-doc')),
+ ' Install documentation: @0@'.format(get_option('install-doc')),
+ ' Demos: @0@'.format(get_option('demos')),
'Directories:',
- ' prefix: @0@'.format(retro_gtk_prefix),
- ' datadir: @0@'.format(retro_gtk_datadir),
+ ' prefix: @0@'.format(retro_gtk_prefix),
+ ' datadir: @0@'.format(retro_gtk_datadir),
'------',
''
]
diff --git a/meson_options.txt b/meson_options.txt
index de6899b..476e8f0 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -13,4 +13,8 @@ option('build-tests', type: 'boolean', value: 'true',
description : 'Build tests')
option('install-tests', type: 'boolean', value: 'false',
description : 'Install tests')
+option('build-doc', type: 'boolean', value: 'true',
+ description : 'Build API reference documentation')
+option('install-doc', type: 'boolean', value: 'true',
+ description : 'Install API reference documentation')
diff --git a/retro-gtk/retro-controller.h b/retro-gtk/retro-controller.h
index 8c8a6ca..0a29081 100644
--- a/retro-gtk/retro-controller.h
+++ b/retro-gtk/retro-controller.h
@@ -16,6 +16,17 @@ G_BEGIN_DECLS
G_DECLARE_INTERFACE (RetroController, retro_controller, RETRO, CONTROLLER, GObject)
+/**
+ * RetroControllerInterface:
+ * @parent_iface: The parent interface.
+ * @get_input_state: Gets the state from on of the controller's inputs.
+ * @get_controller_type: Gets the type of the controller.
+ * @get_capabilities: Gets the capabilities of the controller.
+ * @get_supports_rumble: Gets whether the controller supports rumble.
+ * @set_rumble_state: Sets the rumble state of the controller.
+ *
+ * An interface for a controller, e.g. a gamepad.
+ **/
struct _RetroControllerInterface
{
GTypeInterface parent_iface;
diff --git a/retro-gtk/retro-gtk-version.h.in b/retro-gtk/retro-gtk-version.h.in
index 31984ca..6d09b4d 100644
--- a/retro-gtk/retro-gtk-version.h.in
+++ b/retro-gtk/retro-gtk-version.h.in
@@ -7,8 +7,9 @@
#endif
/**
- * SECTION:retro-gtkversion
+ * SECTION:retro-gtk-version
* @short_description: retro-gtk version checking
+ * @title: Version
*
* retro-gtk provides macros to check the version of the library
* at compile-time
diff --git a/retro-gtk/retro-pixdata-private.h b/retro-gtk/retro-pixdata-private.h
index 5641494..611ae22 100644
--- a/retro-gtk/retro-pixdata-private.h
+++ b/retro-gtk/retro-pixdata-private.h
@@ -14,6 +14,7 @@ G_BEGIN_DECLS
struct _RetroPixdata
{
+ /*< private >*/
guint8 *data;
RetroPixelFormat pixel_format;
gsize rowstride;
diff --git a/retro-gtk/retro-pixdata.c b/retro-gtk/retro-pixdata.c
index c4ee872..56b647d 100644
--- a/retro-gtk/retro-pixdata.c
+++ b/retro-gtk/retro-pixdata.c
@@ -189,10 +189,10 @@ retro_pixdata_new (gconstpointer data,
* retro_pixdata_init:
* @self: a #RetroPixdata
* @data: the video data
+ * @pixel_format: the pixel format
+ * @rowstride: the distance in bytes between rows
* @width: the width
* @height: the height
- * @pitch: the distance in bytes between rows
- * @pixel_format: the pixel format
* @aspect_ratio: the aspect ratio to render the video
*
* Initializes @self with the given parameters.
diff --git a/shared/retro-input-private.h b/shared/retro-input-private.h
index e3cc1bb..1e19acc 100644
--- a/shared/retro-input-private.h
+++ b/shared/retro-input-private.h
@@ -19,43 +19,90 @@ typedef struct _RetroInputLightgun RetroInputLightgun;
typedef struct _RetroInputAnalog RetroInputAnalog;
typedef struct _RetroInputPointer RetroInputPointer;
+/**
+ * RetroInputAny
+ * @type: The controller input type
+ * @id: The controller input ID
+ * @index: The controller input index
+ */
struct _RetroInputAny {
RetroControllerType type;
gint id;
gint index;
};
+/**
+ * RetroInputJoypad
+ * @type: The controller input type
+ * @id: The controller input ID
+ */
struct _RetroInputJoypad {
RetroControllerType type;
RetroJoypadId id;
};
+/**
+ * RetroInputMouse
+ * @type: The controller input type
+ * @id: The controller input ID
+ */
struct _RetroInputMouse {
RetroControllerType type;
RetroMouseId id;
};
+/**
+ * RetroInputKeyboard
+ * @type: The controller input type
+ * @key: The keyboard key
+ */
struct _RetroInputKeyboard {
RetroControllerType type;
RetroKeyboardKey key;
};
+/**
+ * RetroInputLightgun
+ * @type: The controller input type
+ * @id: The controller input ID
+ */
struct _RetroInputLightgun {
RetroControllerType type;
RetroLightgunId id;
};
+/**
+ * RetroInputAnalog
+ * @type: The controller input type
+ * @id: The controller input ID
+ * @index: The controller input index
+ */
struct _RetroInputAnalog {
RetroControllerType type;
RetroAnalogId id;
RetroAnalogIndex index;
};
+/**
+ * RetroInputPointer
+ * @type: The controller input type
+ * @id: The controller input ID
+ */
struct _RetroInputPointer {
RetroControllerType type;
RetroPointerId id;
};
+/**
+ * RetroInput
+ * @any: Any kind of controller input
+ * @joypad: A joypad input
+ * @mouse: a mouse input
+ * @keyboard: A keyboard input
+ * @lightgun: A lightgun input
+ * @analog: An analog input
+ * @pointer: A pointer input
+ */
union _RetroInput {
RetroInputAny any;
RetroInputJoypad joypad;
diff --git a/shared/retro-keyboard-key-private.h b/shared/retro-keyboard-key-private.h
index 14dcb08..b921a75 100644
--- a/shared/retro-keyboard-key-private.h
+++ b/shared/retro-keyboard-key-private.h
@@ -10,6 +10,151 @@
G_BEGIN_DECLS
+/**
+ * RetroKeyboardKey:
+ * @RETRO_KEYBOARD_KEY_UNKNOWN: UNKNOWN key
+ * @RETRO_KEYBOARD_KEY_FIRST: FIRST key
+ * @RETRO_KEYBOARD_KEY_BACKSPACE: BACKSPACE key
+ * @RETRO_KEYBOARD_KEY_TAB: TAB key
+ * @RETRO_KEYBOARD_KEY_CLEAR: CLEAR key
+ * @RETRO_KEYBOARD_KEY_RETURN: RETURN key
+ * @RETRO_KEYBOARD_KEY_PAUSE: PAUSE key
+ * @RETRO_KEYBOARD_KEY_ESCAPE: ESCAPE key
+ * @RETRO_KEYBOARD_KEY_SPACE: SPACE key
+ * @RETRO_KEYBOARD_KEY_EXCLAIM: EXCLAIM key
+ * @RETRO_KEYBOARD_KEY_QUOTEDBL: QUOTEDBL key
+ * @RETRO_KEYBOARD_KEY_HASH: HASH key
+ * @RETRO_KEYBOARD_KEY_DOLLAR: DOLLAR key
+ * @RETRO_KEYBOARD_KEY_AMPERSAND: AMPERSAND key
+ * @RETRO_KEYBOARD_KEY_QUOTE: QUOTE key
+ * @RETRO_KEYBOARD_KEY_LEFTPAREN: LEFTPAREN key
+ * @RETRO_KEYBOARD_KEY_RIGHTPAREN: RIGHTPAREN key
+ * @RETRO_KEYBOARD_KEY_ASTERISK: ASTERISK key
+ * @RETRO_KEYBOARD_KEY_PLUS: PLUS key
+ * @RETRO_KEYBOARD_KEY_COMMA: COMMA key
+ * @RETRO_KEYBOARD_KEY_MINUS: MINUS key
+ * @RETRO_KEYBOARD_KEY_PERIOD: PERIOD key
+ * @RETRO_KEYBOARD_KEY_SLASH: SLASH key
+ * @RETRO_KEYBOARD_KEY_ZERO: ZERO key
+ * @RETRO_KEYBOARD_KEY_ONE: ONE key
+ * @RETRO_KEYBOARD_KEY_TWO: TWO key
+ * @RETRO_KEYBOARD_KEY_THREE: THREE key
+ * @RETRO_KEYBOARD_KEY_FOUR: FOUR key
+ * @RETRO_KEYBOARD_KEY_FINE: FINE key
+ * @RETRO_KEYBOARD_KEY_SIX: SIX key
+ * @RETRO_KEYBOARD_KEY_SEVEN: SEVEN key
+ * @RETRO_KEYBOARD_KEY_HEIGHT: HEIGHT key
+ * @RETRO_KEYBOARD_KEY_NINE: NINE key
+ * @RETRO_KEYBOARD_KEY_COLON: COLON key
+ * @RETRO_KEYBOARD_KEY_SEMICOLON: SEMICOLON key
+ * @RETRO_KEYBOARD_KEY_LESS: LESS key
+ * @RETRO_KEYBOARD_KEY_EQUALS: EQUALS key
+ * @RETRO_KEYBOARD_KEY_GREATER: GREATER key
+ * @RETRO_KEYBOARD_KEY_QUESTION: QUESTION key
+ * @RETRO_KEYBOARD_KEY_AT: AT key
+ * @RETRO_KEYBOARD_KEY_LEFTBRACKET: LEFTBRACKET key
+ * @RETRO_KEYBOARD_KEY_BACKSLASH: BACKSLASH key
+ * @RETRO_KEYBOARD_KEY_RIGHTBRACKET: RIGHTBRACKET key
+ * @RETRO_KEYBOARD_KEY_CARET: CARET key
+ * @RETRO_KEYBOARD_KEY_UNDERSCORE: UNDERSCORE key
+ * @RETRO_KEYBOARD_KEY_BACKQUOTE: BACKQUOTE key
+ * @RETRO_KEYBOARD_KEY_a: a key
+ * @RETRO_KEYBOARD_KEY_b: b key
+ * @RETRO_KEYBOARD_KEY_c: c key
+ * @RETRO_KEYBOARD_KEY_d: d key
+ * @RETRO_KEYBOARD_KEY_e: e key
+ * @RETRO_KEYBOARD_KEY_f: f key
+ * @RETRO_KEYBOARD_KEY_g: g key
+ * @RETRO_KEYBOARD_KEY_h: h key
+ * @RETRO_KEYBOARD_KEY_i: i key
+ * @RETRO_KEYBOARD_KEY_j: j key
+ * @RETRO_KEYBOARD_KEY_k: k key
+ * @RETRO_KEYBOARD_KEY_l: l key
+ * @RETRO_KEYBOARD_KEY_m: m key
+ * @RETRO_KEYBOARD_KEY_n: n key
+ * @RETRO_KEYBOARD_KEY_o: o key
+ * @RETRO_KEYBOARD_KEY_p: p key
+ * @RETRO_KEYBOARD_KEY_q: q key
+ * @RETRO_KEYBOARD_KEY_r: r key
+ * @RETRO_KEYBOARD_KEY_s: s key
+ * @RETRO_KEYBOARD_KEY_t: t key
+ * @RETRO_KEYBOARD_KEY_u: u key
+ * @RETRO_KEYBOARD_KEY_v: v key
+ * @RETRO_KEYBOARD_KEY_w: w key
+ * @RETRO_KEYBOARD_KEY_x: x key
+ * @RETRO_KEYBOARD_KEY_y: y key
+ * @RETRO_KEYBOARD_KEY_z: z key
+ * @RETRO_KEYBOARD_KEY_LEFTBRACE: LEFTBRACE key
+ * @RETRO_KEYBOARD_KEY_BAR: BAR key
+ * @RETRO_KEYBOARD_KEY_RIGHTBRACE: RIGHTBRACE key
+ * @RETRO_KEYBOARD_KEY_TILDE: TILDE key
+ * @RETRO_KEYBOARD_KEY_DELETE: DELETE key
+ * @RETRO_KEYBOARD_KEY_KP0: KP0 key
+ * @RETRO_KEYBOARD_KEY_KP1: KP1 key
+ * @RETRO_KEYBOARD_KEY_KP2: KP2 key
+ * @RETRO_KEYBOARD_KEY_KP3: KP3 key
+ * @RETRO_KEYBOARD_KEY_KP4: KP4 key
+ * @RETRO_KEYBOARD_KEY_KP5: KP5 key
+ * @RETRO_KEYBOARD_KEY_KP6: KP6 key
+ * @RETRO_KEYBOARD_KEY_KP7: KP7 key
+ * @RETRO_KEYBOARD_KEY_KP8: KP8 key
+ * @RETRO_KEYBOARD_KEY_KP9: KP9 key
+ * @RETRO_KEYBOARD_KEY_KP_PERIOD: KP_PERIOD key
+ * @RETRO_KEYBOARD_KEY_KP_DIVIDE: KP_DIVIDE key
+ * @RETRO_KEYBOARD_KEY_KP_MULTIPLY: KP_MULTIPLY key
+ * @RETRO_KEYBOARD_KEY_KP_MINUS: KP_MINUS key
+ * @RETRO_KEYBOARD_KEY_KP_PLUS: KP_PLUS key
+ * @RETRO_KEYBOARD_KEY_KP_ENTER: KP_ENTER key
+ * @RETRO_KEYBOARD_KEY_KP_EQUALS: KP_EQUALS key
+ * @RETRO_KEYBOARD_KEY_UP: UP key
+ * @RETRO_KEYBOARD_KEY_DOWN: DOWN key
+ * @RETRO_KEYBOARD_KEY_RIGHT: RIGHT key
+ * @RETRO_KEYBOARD_KEY_LEFT: LEFT key
+ * @RETRO_KEYBOARD_KEY_INSERT: INSERT key
+ * @RETRO_KEYBOARD_KEY_HOME: HOME key
+ * @RETRO_KEYBOARD_KEY_END: END key
+ * @RETRO_KEYBOARD_KEY_PAGEUP: PAGEUP key
+ * @RETRO_KEYBOARD_KEY_PAGEDOWN: PAGEDOWN key
+ * @RETRO_KEYBOARD_KEY_F1: F1 key
+ * @RETRO_KEYBOARD_KEY_F2: F2 key
+ * @RETRO_KEYBOARD_KEY_F3: F3 key
+ * @RETRO_KEYBOARD_KEY_F4: F4 key
+ * @RETRO_KEYBOARD_KEY_F5: F5 key
+ * @RETRO_KEYBOARD_KEY_F6: F6 key
+ * @RETRO_KEYBOARD_KEY_F7: F7 key
+ * @RETRO_KEYBOARD_KEY_F8: F8 key
+ * @RETRO_KEYBOARD_KEY_F9: F9 key
+ * @RETRO_KEYBOARD_KEY_F10: F10 key
+ * @RETRO_KEYBOARD_KEY_F11: F11 key
+ * @RETRO_KEYBOARD_KEY_F12: F12 key
+ * @RETRO_KEYBOARD_KEY_F13: F13 key
+ * @RETRO_KEYBOARD_KEY_F14: F14 key
+ * @RETRO_KEYBOARD_KEY_F15: F15 key
+ * @RETRO_KEYBOARD_KEY_NUMLOCK: NUMLOCK key
+ * @RETRO_KEYBOARD_KEY_CAPSLOCK: CAPSLOCK key
+ * @RETRO_KEYBOARD_KEY_SCROLLOCK: SCROLLOCK key
+ * @RETRO_KEYBOARD_KEY_RSHIFT: RSHIFT key
+ * @RETRO_KEYBOARD_KEY_LSHIFT: LSHIFT key
+ * @RETRO_KEYBOARD_KEY_RCTRL: RCTRL key
+ * @RETRO_KEYBOARD_KEY_LCTRL: LCTRL key
+ * @RETRO_KEYBOARD_KEY_RALT: RALT key
+ * @RETRO_KEYBOARD_KEY_LALT: LALT key
+ * @RETRO_KEYBOARD_KEY_RMETA: RMETA key
+ * @RETRO_KEYBOARD_KEY_LMETA: LMETA key
+ * @RETRO_KEYBOARD_KEY_LSUPER: LSUPER key
+ * @RETRO_KEYBOARD_KEY_RSUPER: RSUPER key
+ * @RETRO_KEYBOARD_KEY_MODE: MODE key
+ * @RETRO_KEYBOARD_KEY_COMPOSE: COMPOSE key
+ * @RETRO_KEYBOARD_KEY_HELP: HELP key
+ * @RETRO_KEYBOARD_KEY_PRINT: PRINT key
+ * @RETRO_KEYBOARD_KEY_SYSREQ: SYSREQ key
+ * @RETRO_KEYBOARD_KEY_BREAK: BREAK key
+ * @RETRO_KEYBOARD_KEY_MENU: MENU key
+ * @RETRO_KEYBOARD_KEY_POWER: POWER key
+ * @RETRO_KEYBOARD_KEY_EURO: EURO key
+ * @RETRO_KEYBOARD_KEY_UNDO: UNDO key
+ * @RETRO_KEYBOARD_KEY_LAST: LAST key
+ */
typedef enum {
RETRO_KEYBOARD_KEY_UNKNOWN = 0,
RETRO_KEYBOARD_KEY_FIRST = 0,
@@ -155,6 +300,17 @@ typedef enum {
RETRO_KEYBOARD_KEY_LAST
} RetroKeyboardKey;
+/**
+ * RetroKeyboardModifierKey:
+ * @RETRO_KEYBOARD_MODIFIER_KEY_NONE: No modifier key
+ * @RETRO_KEYBOARD_MODIFIER_KEY_SHIFT: The Shift modifier key
+ * @RETRO_KEYBOARD_MODIFIER_KEY_CTRL: The Ctrl modifier key
+ * @RETRO_KEYBOARD_MODIFIER_KEY_ALT: The Alt modifier key
+ * @RETRO_KEYBOARD_MODIFIER_KEY_META: The Meta modifier key
+ * @RETRO_KEYBOARD_MODIFIER_KEY_NUMLOCK: The NumLock modifier key
+ * @RETRO_KEYBOARD_MODIFIER_KEY_CAPSLOCK: The CapsLock modifier key
+ * @RETRO_KEYBOARD_MODIFIER_KEY_SCROLLOCK: The ScrollLock modifier key
+ */
typedef enum {
RETRO_KEYBOARD_MODIFIER_KEY_NONE = 0x0000,
RETRO_KEYBOARD_MODIFIER_KEY_SHIFT = 0x01,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]