Mercurial > projects > mde
diff mde/input/Input.d @ 124:a2ef6b549101
Dynamic minimal size changing is now fully supported.
Support for reducing minimal size in layouts.
Editing numbers as text now always converts new number back to string at end of edit.
Floating point number display format changed.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Mon, 05 Jan 2009 12:43:27 +0000 |
parents | 20f7d813bb0f |
children | 264028f4115a |
line wrap: on
line diff
--- a/mde/input/Input.d Sun Jan 04 17:35:15 2009 +0000 +++ b/mde/input/Input.d Mon Jan 05 12:43:27 2009 +0000 @@ -217,12 +217,20 @@ bool opCall (ref SDL_Event event) { /* Non-config events. * - * Mouse events don't need config for the GUI. Handle them first so that if no config exists - * some functionality at least is retained. + * Handle these first so that if no config exists some functionality at least is retained. * * Coordinates don't need adjusting (they put the top-left most pixel at 0,0). */ switch (event.type) { + case SDL_KEYDOWN: + if (letterCallback) { + try + letterCallback (event.key.keysym.sym, Utf.toString ([cast(wchar)event.key.keysym.unicode], cast(char[])utfBuf)); + catch (Exception e) + logger.error (CB_EXC ~ e.msg); + } + break; + case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: foreach (dg; mouseClickCallbacks) { @@ -254,8 +262,6 @@ switch (event.type) { // Keyboard events: case SDL_KEYDOWN: - if (letterCallback) - letterCallback (event.key.keysym.sym, Utf.toString ([cast(wchar)event.key.keysym.unicode], cast(char[])utfBuf)); case SDL_KEYUP: if (letterCallback) break; // text input mode; no keyboard input from mappings outQueue[]* p = (Config.B.SDLKEY | event.key.keysym.sym) in config.button;