summaryrefslogtreecommitdiff
path: root/pkg/netsurf/libnsfb/patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/netsurf/libnsfb/patch')
-rw-r--r--pkg/netsurf/libnsfb/patch/0001-Add-XKB-key-events.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkg/netsurf/libnsfb/patch/0001-Add-XKB-key-events.patch b/pkg/netsurf/libnsfb/patch/0001-Add-XKB-key-events.patch
new file mode 100644
index 00000000..f51a891a
--- /dev/null
+++ b/pkg/netsurf/libnsfb/patch/0001-Add-XKB-key-events.patch
@@ -0,0 +1,55 @@
+From 4fd4359563e38ee0b4cd70fcaba6d935f4d2afdf Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Sun, 25 Dec 2016 14:50:47 -0800
+Subject: [PATCH] Add XKB key events
+
+---
+ include/libnsfb_event.h | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/include/libnsfb_event.h b/include/libnsfb_event.h
+index f98b5ba..006b51c 100644
+--- a/include/libnsfb_event.h
++++ b/include/libnsfb_event.h
+@@ -11,11 +11,15 @@
+ #ifndef _LIBNSFB_EVENT_H
+ #define _LIBNSFB_EVENT_H 1
+
++#include <xkbcommon/xkbcommon.h>
++
+ enum nsfb_event_type_e {
+ NSFB_EVENT_NONE,
+ NSFB_EVENT_CONTROL,
+ NSFB_EVENT_KEY_DOWN,
+ NSFB_EVENT_KEY_UP,
++ NSFB_EVENT_XKB_KEY_DOWN,
++ NSFB_EVENT_XKB_KEY_UP,
+ NSFB_EVENT_MOVE_RELATIVE,
+ NSFB_EVENT_MOVE_ABSOLUTE,
+ NSFB_EVENT_RESIZE
+@@ -179,6 +183,11 @@ enum nsfb_key_code_e {
+
+ };
+
++enum nsfb_mod_e {
++ NSFB_MOD_CTRL = 1 << 0,
++ NSFB_MOD_SHIFT = 1 << 1,
++};
++
+ enum nsfb_control_e {
+ NSFB_CONTROL_NONE,
+ NSFB_CONTROL_TIMEOUT, /* timeout event */
+@@ -199,6 +208,10 @@ struct nsfb_event_s {
+ int w; /**< Width in pixels */
+ int h; /**< Height in pixels */
+ } resize; /**< Window resize event: NSFB_EVENT_RESIZE */
++ struct {
++ xkb_keysym_t sym;
++ enum nsfb_mod_e mod;
++ } xkb;
+ } value;
+ };
+
+--
+2.11.0
+