I'm using FPC 1.0.10 for Win32. The error message I'm getting when trying to compile is:

'Syntax error, "identifier" expected but "mod" found'

Some code excerpts:

[pascal]VAR Event : TSDL_Event

{...}

WHILE SDL_PollEvent(@Event) <> 0 DO BEGIN
CASE Event.Type_ OF
SDL_KeyDown : BEGIN
CASE Event.Key.KeySym.Sym OF
SDLK_Up : KeyIsDown[KeyUp] := True;
SDLK_Down : KeyIsDown[KeyDown] := True;
SDLK_Right : KeyIsDown[KeyRight] := True;
SDLK_Left : KeyIsDown[KeyLeft] := True;
SDLK_Space : KeyIsDown[KeySpace] := True;
SDLK_Q : Stop := True;
SDLK_F12 : IF FullScreen THEN BEGIN
TheScreen := SDL_SetVideoMode(640, 400, 0, SDL_SWSURFACE);
FullScreen := False;
END
ELSE BEGIN
TheScreen := SDL_SetVideoMode(640, 400, 0, SDL_SWSURFACE OR SDL_FULLSCREEN);
FullScreen := True;
END;
END;
CASE Event.Key.KeySym.Mod OF
KMOD_Shift : WriteLineToScreenBuffer(1, 3, 0, 'SHIFT Pressed!');
END;
END;
SDL_KeyUp : BEGIN
CASE Event.Key.KeySym.Sym OF
SDLK_Up : KeyIsDown[KeyUp] := False;
SDLK_Down : KeyIsDown[KeyDown] := False;
SDLK_Right : KeyIsDown[KeyRight] := False;
SDLK_Left : KeyIsDown[KeyLeft] := False;
SDLK_Space : KeyIsDown[KeySpace] := False;
END;
END;
END;
END;
[/pascal]