It's probably a bug in SDL.
Here is the patch (you need to rebuild glest from source):
--- source/shared_lib/sources/platform/sdl/window.cpp.old 2005-10-22 18:37:00.000000000 +0800
+++ source/shared_lib/sources/platform/sdl/window.cpp 2007-08-24 22:59:17.000000000 +0800
@@ -223,6 +223,26 @@
return vkReturn;
case SDLK_BACKSPACE:
return vkBack;
+ case SDLK_0:
+ return '0';
+ case SDLK_1:
+ return '1';
+ case SDLK_2:
+ return '2';
+ case SDLK_3:
+ return '3';
+ case SDLK_4:
+ return '4';
+ case SDLK_5:
+ return '5';
+ case SDLK_6:
+ return '6';
+ case SDLK_7:
+ return '7';
+ case SDLK_8:
+ return '8';
+ case SDLK_9:
+ return '9';
default:
char c = (char) keysym.unicode;
if(c > 0)