Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | sdl2.c: Half working buckies. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | ams/sdl |
Files: | files | file ages | folders |
SHA3-256: |
0c7ac5fa5d8618cfeceeea0f6b94183e |
User & Date: | ams 2024-06-18 07:24:23 |
Context
2024-06-18
| ||
07:35 | sdl2.c: Use keysyms instead of scancodes; SDL2 input now works. check-in: 19e882e080 user: ams tags: ams/sdl | |
07:24 | sdl2.c: Half working buckies. check-in: 0c7ac5fa5d user: ams tags: ams/sdl | |
07:02 | sdl2.c: Include <X11/keysym.h> and <X11/X.h>. check-in: 401803fc1b user: ams tags: ams/sdl | |
Changes
Changes to sdl2.c.
︙ | ︙ | |||
61 62 63 64 65 66 67 68 | // } // u_minh = 0x7fffffff; // u_maxh = 0; // u_minv = 0x7fffffff; // u_maxv = 0; } int | > > > > > > > > | | | | | | | | | | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | // } // u_minh = 0x7fffffff; // u_maxh = 0; // u_minv = 0x7fffffff; // u_maxv = 0; } //typedef struct SDL_Keysym //{ // SDL_Scancode scancode; /**< SDL physical key code - see SDL_Scancode for details */ // SDL_Keycode sym; /**< SDL virtual key code - see SDL_Keycode for details */ // Uint16 mod; /**< current key modifiers */ // Uint32 unused; //} SDL_Keysym; int sdl2_bucky(SDL_KeyboardEvent e) { int mod = SDL_GetModState(); if (mod & KMOD_CTRL && (e.keysym.scancode == SDL_SCANCODE_LCTRL || e.keysym.scancode == SDL_SCANCODE_RCTRL)) return ControlMapIndex; if (mod & KMOD_SHIFT && (e.keysym.scancode == SDL_SCANCODE_LSHIFT || e.keysym.scancode == SDL_SCANCODE_RSHIFT)) return ShiftMapIndex; if (mod & KMOD_ALT && (e.keysym.scancode == SDL_SCANCODE_LALT || e.keysym.scancode == SDL_SCANCODE_RALT)) return Mod1MapIndex; // if (mod & KMOD_NUM) return Mod2MapIndex; // if (mod & KMOD_MODE) return Mod3MapIndex; if (mod & KMOD_GUI && (e.keysym.scancode == SDL_SCANCODE_LGUI || e.keysym.scancode == SDL_SCANCODE_RGUI)) return Mod4MapIndex; // if (mod & KMOD_SCROLL) return Mod5MapIndex; return -1; } int sdl2_keysym_to_xk(SDL_KeyboardEvent e) { switch (e.keysym.scancode) { |
︙ | ︙ | |||
207 208 209 210 211 212 213 | // knight_process_bucky(Mod3MapIndex, &bi); // if (mod & Mod4Mask) // knight_process_bucky(Mod4MapIndex, &bi); // if (mod & Mod5Mask) // knight_process_bucky(Mod5MapIndex, &bi); knight_process_key(e.keysym.sym, bi, keydown); } else { | | | | 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | // knight_process_bucky(Mod3MapIndex, &bi); // if (mod & Mod4Mask) // knight_process_bucky(Mod4MapIndex, &bi); // if (mod & Mod5Mask) // knight_process_bucky(Mod5MapIndex, &bi); knight_process_key(e.keysym.sym, bi, keydown); } else { bi = sdl2_bucky(e); cadet_process_key(keysym /* xk_keysym*/, bi, keydown); } } void sdl2_event(void) { SDL_Event ev; |
︙ | ︙ |