DirectFB peeps changed their API again: http://www.directfb.org/index.php/viewcvs.cgi/DirectFB/include/directfb.h.diff?r1=1.266&r2=1.267 --- src/video/directfb/SDL_DirectFB_video.c +++ src/video/directfb/SDL_DirectFB_video.c @@ -40,6 +40,7 @@ static char rcsid = #include #include +#include #include "SDL.h" #include "SDL_error.h" @@ -376,7 +376,11 @@ int DirectFB_VideoInit(_THIS, SDL_PixelF { int i; DFBResult ret; +#if (DIRECTFB_MAJOR_VERSION == 0) && (DIRECTFB_MINOR_VERSION == 9) && (DIRECTFB_MICRO_VERSION < 23) DFBCardCapabilities caps; +#else + DFBGraphicsDeviceDescription caps; +#endif DFBDisplayLayerConfig dlc; struct DirectFBEnumRect *rect; IDirectFB *dfb = NULL; @@ -448,7 +452,11 @@ int DirectFB_VideoInit(_THIS, SDL_PixelF /* Query card capabilities to get the video memory size */ +#if (DIRECTFB_MAJOR_VERSION == 0) && (DIRECTFB_MINOR_VERSION == 9) && (DIRECTFB_MICRO_VERSION < 23) dfb->GetCardCapabilities (dfb, &caps); +#else + dfb->GetDeviceDescription (dfb, &caps); +#endif this->info.wm_available = 1; this->info.hw_available = 1; http://bugs.gentoo.org/132571 And another change: DIKI_ALTGR is gone. The key right to the space bar is the right alt key. No matter which map is loaded, the identifiers are just named hardware keys, where you really specify the physical entity on your keyboard. In this case it's always DIKI_ALT_R, no matter if it's mapped to DIKS_ALTGR or DIKS_ALT. On standard keyboards it's also always the same hardware key code, no matter if you by a German keyboard with AltGr or a U.$. one with Alt. --- src/video/directfb/SDL_DirectFB_events.c +++ src/video/directfb/SDL_DirectFB_events.c @@ -155,7 +155,7 @@ void DirectFB_InitOSKeymap (_THIS) keymap[DIKI_SHIFT_L - DIKI_UNKNOWN] = SDLK_LSHIFT; keymap[DIKI_SHIFT_R - DIKI_UNKNOWN] = SDLK_RSHIFT; keymap[DIKI_ALT_L - DIKI_UNKNOWN] = SDLK_LALT; - keymap[DIKI_ALTGR - DIKI_UNKNOWN] = SDLK_RALT; + keymap[DIKI_ALT_R - DIKI_UNKNOWN] = SDLK_RALT; keymap[DIKI_TAB - DIKI_UNKNOWN] = SDLK_TAB; keymap[DIKI_ENTER - DIKI_UNKNOWN] = SDLK_RETURN; keymap[DIKI_SPACE - DIKI_UNKNOWN] = SDLK_SPACE;