Changeset 4ed9bfe in buchla-emu for emu/sdl.c


Ignore:
Timestamp:
09/04/2017 02:28:12 PM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
d021bbb
Parents:
4f967e8
Message:

Support data keys, X, E, and M.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • emu/sdl.c

    r4f967e8 r4ed9bfe  
    6767
    6868        bool rel_mod = false;
     69        uint32_t win = 0;
    6970
    7071        while (SDL_AtomicGet(&run) != 0) {
     
    101102                                SDL_AtomicSet(&run, 0);
    102103                                continue;
     104                        }
     105
     106                        if (ev.type == SDL_WINDOWEVENT) {
     107                                if (ev.window.event == SDL_WINDOWEVENT_FOCUS_GAINED) {
     108                                        ver("sdl ev win %u", ev.window.windowID);
     109                                        win = ev.window.windowID;
     110                                }
    103111                        }
    104112
     
    138146                        if (ev.type == SDL_TEXTINPUT) {
    139147                                ver("sdl ev text input %d", ev.text.text[0]);
    140                                 ser_text(&ev.text);
     148
     149                                if (win == ser_win) {
     150                                        ser_text(&ev.text);
     151                                }
     152                                else if (win == vid_win) {
     153                                        kbd_text(&ev.text);
     154                                }
     155
    141156                                continue;
    142157                        }
     
    144159                        if (ev.type == SDL_KEYDOWN) {
    145160                                ver("sdl ev key down %d", (int32_t)ev.key.keysym.sym);
    146                                 ser_key(&ev.key);
     161
     162                                if (win == ser_win) {
     163                                        ser_key(&ev.key);
     164                                }
     165                                else if (win == vid_win) {
     166                                        kbd_key(&ev.key);
     167                                }
     168
    147169                                continue;
    148170                        }
Note: See TracChangeset for help on using the changeset viewer.