summaryrefslogtreecommitdiff
path: root/pcr/reicast-multilib-git/enable_x11_keyboard_support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/reicast-multilib-git/enable_x11_keyboard_support.patch')
-rw-r--r--pcr/reicast-multilib-git/enable_x11_keyboard_support.patch233
1 files changed, 0 insertions, 233 deletions
diff --git a/pcr/reicast-multilib-git/enable_x11_keyboard_support.patch b/pcr/reicast-multilib-git/enable_x11_keyboard_support.patch
deleted file mode 100644
index 1dfd41c72..000000000
--- a/pcr/reicast-multilib-git/enable_x11_keyboard_support.patch
+++ /dev/null
@@ -1,233 +0,0 @@
-diff -Nur a/core/linux-dist/main.cpp b/core/linux-dist/main.cpp
---- a/core/linux-dist/main.cpp 2015-08-23 00:16:33.930598582 -0300
-+++ b/core/linux-dist/main.cpp 2015-08-23 18:54:25.349048701 -0300
-@@ -157,6 +157,10 @@
-
- void UpdateInputState(u32 port)
- {
-+ #if defined(SUPPORT_X11)
-+ update_x11_input_state();
-+ #endif
-+
- #if defined(TARGET_EMSCRIPTEN)
- return;
- #endif
-diff -Nur a/core/linux-dist/x11.cpp b/core/linux-dist/x11.cpp
---- a/core/linux-dist/x11.cpp 2015-08-23 00:16:33.930598582 -0300
-+++ b/core/linux-dist/x11.cpp 2015-08-23 18:50:06.875072583 -0300
-@@ -3,6 +3,7 @@
- #include <X11/Xlib.h>
- #include <X11/Xatom.h>
- #include <X11/Xutil.h>
-+#include <X11/XKBlib.h>
-
- #if !defined(GLES)
- #include <GL/gl.h>
-@@ -23,6 +24,18 @@
- #endif
- #define DEFAULT_WINDOW_HEIGHT 480
-
-+#define DC_KEY_AXIS_UP (25)
-+#define DC_KEY_AXIS_DOWN (39)
-+#define DC_KEY_AXIS_LEFT (38)
-+#define DC_KEY_AXIS_RIGHT (40)
-+#define DC_KEY_AXIS_LT (79)
-+#define DC_KEY_AXIS_RT (81)
-+
-+u8 axis_joyx = 0;
-+u8 axis_joyy = 0;
-+u8 axis_lt = 0;
-+u8 axis_rt = 0;
-+
- map<int, int> x11_keymap;
- int x11_dc_buttons = 0xFFFF;
- int x11_keyboard_input = 0;
-@@ -55,8 +68,27 @@
- XSendEvent((Display*)x11_disp, DefaultRootWindow((Display*)x11_disp), False, SubstructureNotifyMask, &xev);
- }
-
-+void update_x11_input_state()
-+{
-+ //static char key = 0;
-+
-+ //kcode[port]=0xFFFF;
-+ joyx[0] = axis_joyx;
-+ joyy[0] = axis_joyy;
-+ lt[0] = axis_lt;
-+ rt[0] = axis_rt;
-+ return;
-+
-+ //HandleEvents(port);
-+}
-+
- void input_x11_handle()
- {
-+ static bool dc_axis_up = false;
-+ static bool dc_axis_down = false;
-+ static bool dc_axis_left = false;
-+ static bool dc_axis_right = false;
-+
- if (x11_win && x11_keyboard_input)
- {
- //Handle X11
-@@ -68,6 +100,90 @@
- {
- case KeyPress:
- case KeyRelease:
-+ if (e.xkey.keycode == DC_KEY_AXIS_UP)
-+ {
-+ if (e.type == KeyPress)
-+ {
-+ dc_axis_up = true;
-+ }
-+ else if (e.type == KeyRelease)
-+ {
-+ dc_axis_up = false;
-+ }
-+ else
-+ {
-+ }
-+ }
-+ if (e.xkey.keycode == DC_KEY_AXIS_DOWN)
-+ {
-+ if (e.type == KeyPress)
-+ {
-+ dc_axis_down = true;
-+ }
-+ else if (e.type == KeyRelease)
-+ {
-+ dc_axis_down = false;
-+ }
-+ else
-+ {
-+ }
-+ }
-+ if (e.xkey.keycode == DC_KEY_AXIS_LEFT)
-+ {
-+ if (e.type == KeyPress)
-+ {
-+ dc_axis_left = true;
-+ }
-+ else if (e.type == KeyRelease)
-+ {
-+ dc_axis_left = false;
-+ }
-+ else
-+ {
-+ }
-+ }
-+ if (e.xkey.keycode == DC_KEY_AXIS_RIGHT)
-+ {
-+ if (e.type == KeyPress)
-+ {
-+ dc_axis_right = true;
-+ }
-+ else if (e.type == KeyRelease)
-+ {
-+ dc_axis_right = false;
-+ }
-+ else
-+ {
-+ }
-+ }
-+ if (e.xkey.keycode == DC_KEY_AXIS_LT)
-+ {
-+ if (e.type == KeyPress)
-+ {
-+ axis_lt = 255;
-+ }
-+ else if (e.type == KeyRelease)
-+ {
-+ axis_lt = 0;
-+ }
-+ else
-+ {
-+ }
-+ }
-+ if (e.xkey.keycode == DC_KEY_AXIS_RT)
-+ {
-+ if (e.type == KeyPress)
-+ {
-+ axis_rt = 255;
-+ }
-+ else if (e.type == KeyRelease)
-+ {
-+ axis_rt = 0;
-+ }
-+ else
-+ {
-+ }
-+ }
- if (e.type == KeyRelease && e.xkey.keycode == 95) // F11 button
- {
- x11_fullscreen = !x11_fullscreen;
-@@ -89,26 +205,45 @@
- break;
- }
- }
-+ if ((dc_axis_up == true) && (dc_axis_down == false))
-+ {
-+ axis_joyy = -127;
-+ }
-+ else if ((dc_axis_up == false) && (dc_axis_down == true))
-+ {
-+ axis_joyy = 127;
-+ }
-+ else
-+ {
-+ axis_joyy = 0;
-+ }
-+ if ((dc_axis_left == true) && (dc_axis_right == false))
-+ {
-+ axis_joyx = -127;
-+ }
-+ else if ((dc_axis_left == false) && (dc_axis_right == true))
-+ {
-+ axis_joyx = 127;
-+ }
-+ else
-+ {
-+ axis_joyx = 0;
-+ }
- }
- }
-
- void input_x11_init()
- {
-- x11_keymap[113] = DC_DPAD_LEFT;
-- x11_keymap[114] = DC_DPAD_RIGHT;
-+ x11_keymap[44] = DC_DPAD_LEFT;
-+ x11_keymap[46] = DC_DPAD_RIGHT;
-
-- x11_keymap[111] = DC_DPAD_UP;
-- x11_keymap[116] = DC_DPAD_DOWN;
-+ x11_keymap[31] = DC_DPAD_UP;
-+ x11_keymap[45] = DC_DPAD_DOWN;
-
-- x11_keymap[53] = DC_BTN_X;
-- x11_keymap[54] = DC_BTN_B;
-- x11_keymap[55] = DC_BTN_A;
--
-- /*
-- //TODO: Fix sliders
-- x11_keymap[38] = DPad_Down;
-- x11_keymap[39] = DPad_Down;
-- */
-+ x11_keymap[80] = DC_BTN_Y;
-+ x11_keymap[83] = DC_BTN_X;
-+ x11_keymap[85] = DC_BTN_B;
-+ x11_keymap[84] = DC_BTN_A;
-
- x11_keymap[36] = DC_BTN_START;
-
-diff -Nur a/core/linux-dist/x11.h b/core/linux-dist/x11.h
---- a/core/linux-dist/x11.h 2015-08-23 00:16:33.930598582 -0300
-+++ b/core/linux-dist/x11.h 2015-08-23 18:58:04.534722602 -0300
-@@ -1,6 +1,7 @@
- #pragma once
-
- extern void* x11_glc;
-+extern void update_x11_input_state();
- extern void input_x11_init();
- extern void input_x11_handle();
- extern void x11_window_create();