w32_map_wparam_to_app_key, todo, api

This commit is contained in:
krzosa
2024-12-29 10:54:28 +01:00
parent fddbbb9654
commit d7c5b72bb9
8 changed files with 121 additions and 119 deletions

View File

@@ -1,7 +1,7 @@
type_t type__app_key_t = { type_kind_enum, s8_const_lit("app_key_t"), sizeof(app_key_t),
.members = (type_member_t[]){
{.name = s8_const_lit("app_key_invalid"), .value = app_key_invalid},
{.name = s8_const_lit("app_key_null"), .value = app_key_null},
{.name = s8_const_lit("app_key_1"), .value = app_key_1},
{.name = s8_const_lit("app_key_2"), .value = app_key_2},
{.name = s8_const_lit("app_key_3"), .value = app_key_3},
@@ -152,79 +152,79 @@ wasm_key_map_t wasm_map_key_string_to_app_key(s8_t key) {
#endif
#if PLATFORM_WINDOWS
void w32_key_dispatch(WPARAM wparam, void (*handle_key)(app_key_t)) {
app_key_t w32_map_wparam_to_app_key(WPARAM wparam) {
switch(wparam) {
case '1': handle_key(app_key_1); break;
case '2': handle_key(app_key_2); break;
case '3': handle_key(app_key_3); break;
case '4': handle_key(app_key_4); break;
case '5': handle_key(app_key_5); break;
case '6': handle_key(app_key_6); break;
case '7': handle_key(app_key_7); break;
case '8': handle_key(app_key_8); break;
case '9': handle_key(app_key_9); break;
case '0': handle_key(app_key_0); break;
case VK_F1: handle_key(app_key_f1); break;
case VK_F2: handle_key(app_key_f2); break;
case VK_F3: handle_key(app_key_f3); break;
case VK_F4: handle_key(app_key_f4); break;
case VK_F5: handle_key(app_key_f5); break;
case VK_F6: handle_key(app_key_f6); break;
case VK_F7: handle_key(app_key_f7); break;
case VK_F8: handle_key(app_key_f8); break;
case VK_F9: handle_key(app_key_f9); break;
case VK_F10: handle_key(app_key_f10); break;
case VK_F11: handle_key(app_key_f11); break;
case VK_F12: handle_key(app_key_f12); break;
case 'A': handle_key(app_key_a); break;
case 'B': handle_key(app_key_b); break;
case 'C': handle_key(app_key_c); break;
case 'D': handle_key(app_key_d); break;
case 'E': handle_key(app_key_e); break;
case 'F': handle_key(app_key_f); break;
case 'G': handle_key(app_key_g); break;
case 'H': handle_key(app_key_h); break;
case 'I': handle_key(app_key_i); break;
case 'J': handle_key(app_key_j); break;
case 'K': handle_key(app_key_k); break;
case 'L': handle_key(app_key_l); break;
case 'M': handle_key(app_key_m); break;
case 'N': handle_key(app_key_n); break;
case 'O': handle_key(app_key_o); break;
case 'P': handle_key(app_key_p); break;
case 'Q': handle_key(app_key_q); break;
case 'R': handle_key(app_key_r); break;
case 'S': handle_key(app_key_s); break;
case 'T': handle_key(app_key__t); break;
case 'U': handle_key(app_key_u); break;
case 'V': handle_key(app_key_v); break;
case 'W': handle_key(app_key_w); break;
case 'X': handle_key(app_key_x); break;
case 'Y': handle_key(app_key_y); break;
case 'Z': handle_key(app_key_z); break;
case VK_SPACE: handle_key(app_key_space); break;
case VK_RETURN: handle_key(app_key_enter); break;
case VK_ESCAPE: handle_key(app_key_escape); break;
case VK_LEFT: handle_key(app_key_left); break;
case VK_UP: handle_key(app_key_up); break;
case VK_RIGHT: handle_key(app_key_right); break;
case VK_DOWN: handle_key(app_key_down); break;
case VK_TAB: handle_key(app_key_tab); break;
case VK_BACK: handle_key(app_key_backspace); break;
case VK_CONTROL: handle_key(app_key_control); break;
case VK_SHIFT: handle_key(app_key_shift); break;
case VK_LMENU: handle_key(app_key_alt); break;
case VK_RMENU: handle_key(app_key_alt); break;
case VK_LWIN: handle_key(app_key_meta); break;
case VK_RWIN: handle_key(app_key_meta); break;
case VK_CAPITAL: handle_key(app_key_caps_lock); break;
case VK_DELETE: handle_key(app_key_delete); break;
case VK_HOME: handle_key(app_key_home); break;
case VK_END: handle_key(app_key_end); break;
case VK_NEXT: handle_key(app_key_insert); break;
case VK_INSERT: handle_key(app_key_page_up); break;
case VK_PRIOR: handle_key(app_key_page_down); break;
default: {} break;
case '1': return app_key_1; break;
case '2': return app_key_2; break;
case '3': return app_key_3; break;
case '4': return app_key_4; break;
case '5': return app_key_5; break;
case '6': return app_key_6; break;
case '7': return app_key_7; break;
case '8': return app_key_8; break;
case '9': return app_key_9; break;
case '0': return app_key_0; break;
case VK_F1: return app_key_f1; break;
case VK_F2: return app_key_f2; break;
case VK_F3: return app_key_f3; break;
case VK_F4: return app_key_f4; break;
case VK_F5: return app_key_f5; break;
case VK_F6: return app_key_f6; break;
case VK_F7: return app_key_f7; break;
case VK_F8: return app_key_f8; break;
case VK_F9: return app_key_f9; break;
case VK_F10: return app_key_f10; break;
case VK_F11: return app_key_f11; break;
case VK_F12: return app_key_f12; break;
case 'A': return app_key_a; break;
case 'B': return app_key_b; break;
case 'C': return app_key_c; break;
case 'D': return app_key_d; break;
case 'E': return app_key_e; break;
case 'F': return app_key_f; break;
case 'G': return app_key_g; break;
case 'H': return app_key_h; break;
case 'I': return app_key_i; break;
case 'J': return app_key_j; break;
case 'K': return app_key_k; break;
case 'L': return app_key_l; break;
case 'M': return app_key_m; break;
case 'N': return app_key_n; break;
case 'O': return app_key_o; break;
case 'P': return app_key_p; break;
case 'Q': return app_key_q; break;
case 'R': return app_key_r; break;
case 'S': return app_key_s; break;
case 'T': return app_key__t; break;
case 'U': return app_key_u; break;
case 'V': return app_key_v; break;
case 'W': return app_key_w; break;
case 'X': return app_key_x; break;
case 'Y': return app_key_y; break;
case 'Z': return app_key_z; break;
case VK_SPACE: return app_key_space; break;
case VK_RETURN: return app_key_enter; break;
case VK_ESCAPE: return app_key_escape; break;
case VK_LEFT: return app_key_left; break;
case VK_UP: return app_key_up; break;
case VK_RIGHT: return app_key_right; break;
case VK_DOWN: return app_key_down; break;
case VK_TAB: return app_key_tab; break;
case VK_BACK: return app_key_backspace; break;
case VK_CONTROL: return app_key_control; break;
case VK_SHIFT: return app_key_shift; break;
case VK_LMENU: return app_key_alt; break;
case VK_RMENU: return app_key_alt; break;
case VK_LWIN: return app_key_meta; break;
case VK_RWIN: return app_key_meta; break;
case VK_CAPITAL: return app_key_caps_lock; break;
case VK_DELETE: return app_key_delete; break;
case VK_HOME: return app_key_home; break;
case VK_END: return app_key_end; break;
case VK_NEXT: return app_key_insert; break;
case VK_INSERT: return app_key_page_up; break;
case VK_PRIOR: return app_key_page_down; break;
default: {return app_key_null;} break;
}
}
#endif/*D:\dev\wasm\src/app/app.meta.c*/
@@ -240,7 +240,7 @@ type_t type__app_mouse_button_t = { type_kind_enum, s8_const_lit("app_mouse_butt
};
type_t type__app_event_kind_t = { type_kind_enum, s8_const_lit("app_event_kind_t"), sizeof(app_event_kind_t),
.members = (type_member_t[]){
{.name = s8_const_lit("app_event_kind_invalid"), .value = app_event_kind_invalid},
{.name = s8_const_lit("app_event_kind_null"), .value = app_event_kind_null},
{.name = s8_const_lit("app_event_kind_update"), .value = app_event_kind_update},
{.name = s8_const_lit("app_event_kind_text"), .value = app_event_kind_text},
{.name = s8_const_lit("app_event_kind_key_down"), .value = app_event_kind_key_down},