rpms/dosbox/devel dosbox-0.72-evdev.patch, NONE, 1.1 dosbox-0.72-gcc44.patch, NONE, 1.1 dosbox.spec, 1.32, 1.33
Lubomir Rintel
lkundrak at fedoraproject.org
Sun Mar 8 21:56:39 UTC 2009
- Previous message: rpms/boinc-client/F-9 boinc-client-init-d, 1.5, 1.6 boinc-client.spec, 1.16, 1.17 boinc-gccflags.patch, 1.3, 1.4
- Next message: rpms/dosbox/F-10 dosbox-0.72-evdev.patch, NONE, 1.1 dosbox.spec, 1.31, 1.32
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: lkundrak
Update of /cvs/pkgs/rpms/dosbox/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4096
Modified Files:
dosbox.spec
Added Files:
dosbox-0.72-evdev.patch dosbox-0.72-gcc44.patch
Log Message:
* Sun Mar 08 2009 Lubomir Rintel <lkundrak at v3.sk> - 0.72-7
- Fix build with GCC 4.4
- Fix key mapping with evdev driver (#473875)
dosbox-0.72-evdev.patch:
--- NEW FILE dosbox-0.72-evdev.patch ---
Fix support for evdev (#473875)
Following upstream commits:
Author: c2woody <c2woody>
Date: Wed Dec 31 16:33:46 2008 +0000
add evdev-kbd compatible scancode remapping (disabled atm)
Author: qbix79 <qbix79>
Date: Thu Jan 22 13:14:33 2009 +0000
Add experimental evdev detection.
Author: qbix79 <qbix79>
Date: Thu Jan 22 21:44:14 2009 +0000
counting is hard
diff -up dosbox-0.72/src/gui/sdl_mapper.cpp.evdev dosbox-0.72/src/gui/sdl_mapper.cpp
--- dosbox-0.72/src/gui/sdl_mapper.cpp.evdev 2007-08-17 14:49:56.000000000 -0400
+++ dosbox-0.72/src/gui/sdl_mapper.cpp 2009-03-08 21:41:46.000000000 -0400
@@ -1614,7 +1614,7 @@ static struct {
static void change_action_text(const char* text,Bit8u col) {
- bind_but.action->Change(text);
+ bind_but.action->Change(text,"");
bind_but.action->SetColor(col);
}
@@ -2172,7 +2172,7 @@ static void CreateBindGroups(void) {
if (mapper.sticks.num) SDL_JoystickEventState(SDL_DISABLE);
#else
// enable joystick event handling
- if (numsticks) SDL_JoystickEventState(SDL_ENABLE);
+ if (mapper.sticks.num) SDL_JoystickEventState(SDL_ENABLE);
else return;
#endif
Bit8u joyno=0;
@@ -2276,6 +2276,11 @@ void MAPPER_Init(void) {
if (!MAPPER_LoadBinds()) CreateDefaultBinds();
}
+//Somehow including them at the top conflicts with something in setup.h
+#ifdef LINUX
+#include "SDL_syswm.h"
+#include <X11/XKBlib.h>
+#endif
void MAPPER_StartUp(Section * sec) {
Section_prop * section=static_cast<Section_prop *>(sec);
mapper.sticks.num=0;
@@ -2292,7 +2297,7 @@ void MAPPER_StartUp(Section * sec) {
virtual_joysticks[0].axis_pos[i]=0;
}
- usescancodes=false;
+ usescancodes = false;
if (section->Get_bool("usescancodes")) {
usescancodes=true;
@@ -2319,23 +2324,63 @@ void MAPPER_StartUp(Section * sec) {
sdlkey_map[0x5E]=SDLK_RALT;
sdlkey_map[0x40]=SDLK_KP5;
sdlkey_map[0x41]=SDLK_KP6;
-#elif !defined (WIN32) /* => Linux */
- sdlkey_map[0x5a]=SDLK_UP;
- sdlkey_map[0x60]=SDLK_DOWN;
- sdlkey_map[0x5c]=SDLK_LEFT;
- sdlkey_map[0x5e]=SDLK_RIGHT;
- sdlkey_map[0x59]=SDLK_HOME;
- sdlkey_map[0x5f]=SDLK_END;
- sdlkey_map[0x5b]=SDLK_PAGEUP;
- sdlkey_map[0x61]=SDLK_PAGEDOWN;
- sdlkey_map[0x62]=SDLK_INSERT;
- sdlkey_map[0x63]=SDLK_DELETE;
- sdlkey_map[0x68]=SDLK_KP_DIVIDE;
- sdlkey_map[0x64]=SDLK_KP_ENTER;
- sdlkey_map[0x65]=SDLK_RCTRL;
- sdlkey_map[0x66]=SDLK_PAUSE;
- sdlkey_map[0x67]=SDLK_PRINT;
- sdlkey_map[0x69]=SDLK_RALT;
+#elif !defined (WIN32) /* => Linux & BSDs */
+ //bool evdev_input = false;
+ bool evdev_input = true;
+#ifdef LINUX
+ SDL_SysWMinfo info;
+ SDL_VERSION(&info.version);
+ if (SDL_GetWMInfo(&info)) {
+ XkbDescPtr desc = NULL;
+ if((desc = XkbGetMap(info.info.x11.display,XkbAllComponentsMask,XkbUseCoreKbd))) {
+ if(XkbGetNames(info.info.x11.display,XkbAllNamesMask,desc) == 0) {
+ const char* keycodes = XGetAtomName(info.info.x11.display, desc->names->keycodes);
+// const char* geom = XGetAtomName(info.info.x11.display, desc->names->geometry);
+ if(keycodes) {
+ LOG(LOG_MISC,LOG_NORMAL)("keyboard type %s",keycodes);
+ if (strncmp(keycodes,"evdev",5) == 0) evdev_input = true;
+ }
+ XkbFreeNames(desc,XkbAllNamesMask,True);
+ }
+ XkbFreeClientMap(desc,0,True);
+ }
+ }
+#endif
+ if (evdev_input) {
+ sdlkey_map[0x67]=SDLK_UP;
+ sdlkey_map[0x6c]=SDLK_DOWN;
+ sdlkey_map[0x69]=SDLK_LEFT;
+ sdlkey_map[0x6a]=SDLK_RIGHT;
+ sdlkey_map[0x66]=SDLK_HOME;
+ sdlkey_map[0x6b]=SDLK_END;
+ sdlkey_map[0x68]=SDLK_PAGEUP;
+ sdlkey_map[0x6d]=SDLK_PAGEDOWN;
+ sdlkey_map[0x6e]=SDLK_INSERT;
+ sdlkey_map[0x6f]=SDLK_DELETE;
+ sdlkey_map[0x62]=SDLK_KP_DIVIDE;
+ sdlkey_map[0x60]=SDLK_KP_ENTER;
+ sdlkey_map[0x61]=SDLK_RCTRL;
+ sdlkey_map[0x77]=SDLK_PAUSE;
+ sdlkey_map[0x63]=SDLK_PRINT;
+ sdlkey_map[0x64]=SDLK_RALT;
+ } else {
+ sdlkey_map[0x5a]=SDLK_UP;
+ sdlkey_map[0x60]=SDLK_DOWN;
+ sdlkey_map[0x5c]=SDLK_LEFT;
+ sdlkey_map[0x5e]=SDLK_RIGHT;
+ sdlkey_map[0x59]=SDLK_HOME;
+ sdlkey_map[0x5f]=SDLK_END;
+ sdlkey_map[0x5b]=SDLK_PAGEUP;
+ sdlkey_map[0x61]=SDLK_PAGEDOWN;
+ sdlkey_map[0x62]=SDLK_INSERT;
+ sdlkey_map[0x63]=SDLK_DELETE;
+ sdlkey_map[0x68]=SDLK_KP_DIVIDE;
+ sdlkey_map[0x64]=SDLK_KP_ENTER;
+ sdlkey_map[0x65]=SDLK_RCTRL;
+ sdlkey_map[0x66]=SDLK_PAUSE;
+ sdlkey_map[0x67]=SDLK_PRINT;
+ sdlkey_map[0x69]=SDLK_RALT;
+ }
#else
sdlkey_map[0xc8]=SDLK_UP;
sdlkey_map[0xd0]=SDLK_DOWN;
dosbox-0.72-gcc44.patch:
--- NEW FILE dosbox-0.72-gcc44.patch ---
Fix build with GCC 4.4
Submitted upstream:
https://sourceforge.net/tracker/index.php?func=detail&aid=2673190&group_id=52551&atid=467234
Lubomir Rintel <lkundrak at v3.sk>
diff -up dosbox-0.72/src/gui/midi_alsa.h.gcc44 dosbox-0.72/src/gui/midi_alsa.h
--- dosbox-0.72/src/gui/midi_alsa.h.gcc44 2009-03-08 19:27:09.000000000 -0400
+++ dosbox-0.72/src/gui/midi_alsa.h 2009-03-08 19:27:48.000000000 -0400
@@ -51,7 +51,7 @@ private:
}
int parse_addr(const char *arg, int *client, int *port) {
- char *p;
+ const char *p;
if (isdigit(*arg)) {
if ((p = strpbrk(arg, ADDR_DELIM)) == NULL)
Index: dosbox.spec
===================================================================
RCS file: /cvs/pkgs/rpms/dosbox/devel/dosbox.spec,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- dosbox.spec 24 Feb 2009 12:30:39 -0000 1.32
+++ dosbox.spec 8 Mar 2009 21:56:05 -0000 1.33
@@ -1,6 +1,6 @@
Name: dosbox
Version: 0.72
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: x86/DOS emulator with sound and graphics
@@ -11,6 +11,8 @@
Source1: dosbox.desktop
Source2: dosbox.png
Patch0: dosbox-gcc43.patch
+Patch1: dosbox-0.72-gcc44.patch
+Patch2: dosbox-0.72-evdev.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: libpng-devel
@@ -38,6 +40,8 @@
%prep
%setup -q
%patch0 -p1
+%patch1 -p1 -b .gcc44
+%patch2 -p1 -b .evdev
%build
%configure --enable-core-inline
@@ -75,6 +79,10 @@
%changelog
+* Sun Mar 08 2009 Lubomir Rintel <lkundrak at v3.sk> - 0.72-7
+- Fix build with GCC 4.4
+- Fix key mapping with evdev driver (#473875)
+
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.72-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
- Previous message: rpms/boinc-client/F-9 boinc-client-init-d, 1.5, 1.6 boinc-client.spec, 1.16, 1.17 boinc-gccflags.patch, 1.3, 1.4
- Next message: rpms/dosbox/F-10 dosbox-0.72-evdev.patch, NONE, 1.1 dosbox.spec, 1.31, 1.32
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list