@@ -27,11 +27,12 @@ int convMouseButtom(sapp_mousebutton mouse_button){
27
27
}
28
28
29
29
static void sokol_event (const sapp_event* e) {
30
- if (e->type == SAPP_EVENTTYPE_RESIZED)
30
+ if (e->type == SAPP_EVENTTYPE_RESIZED){
31
31
Supernova::Engine::systemViewChanged ();
32
- else if (e->type == SAPP_EVENTTYPE_CHAR)
33
- Supernova::Engine::systemCharInput (e->char_code );
34
- else if (e->type == SAPP_EVENTTYPE_KEY_DOWN){
32
+ }else if (e->type == SAPP_EVENTTYPE_CHAR){
33
+ if (e->char_code != 127 ) // fix macos backspace
34
+ Supernova::Engine::systemCharInput (e->char_code );
35
+ }else if (e->type == SAPP_EVENTTYPE_KEY_DOWN){
35
36
if (e->key_code == SAPP_KEYCODE_TAB)
36
37
Supernova::Engine::systemCharInput (' \t ' );
37
38
if (e->key_code == SAPP_KEYCODE_BACKSPACE)
@@ -40,29 +41,30 @@ static void sokol_event(const sapp_event* e) {
40
41
Supernova::Engine::systemCharInput (' \r ' );
41
42
if (e->key_code == SAPP_KEYCODE_ESCAPE)
42
43
Supernova::Engine::systemCharInput (' \33 ' ); // removed 'e' to avoid warnings
43
- // Use same keycode of GLFW
44
+ // use same keycode of GLFW
44
45
Supernova::Engine::systemKeyDown (e->key_code , e->key_repeat , e->modifiers );
45
- }else if (e->type == SAPP_EVENTTYPE_KEY_UP)
46
- // Use same keycode of GLFW
46
+ }else if (e->type == SAPP_EVENTTYPE_KEY_UP){
47
+ // use same keycode of GLFW
47
48
Supernova::Engine::systemKeyUp (e->key_code , e->key_repeat , e->modifiers );
48
- else if (e->type == SAPP_EVENTTYPE_SUSPENDED)
49
+ } else if (e->type == SAPP_EVENTTYPE_SUSPENDED){
49
50
Supernova::Engine::systemPause ();
50
- else if (e->type == SAPP_EVENTTYPE_RESUMED)
51
+ } else if (e->type == SAPP_EVENTTYPE_RESUMED){
51
52
Supernova::Engine::systemResume ();
52
- else if (e->type == SAPP_EVENTTYPE_MOUSE_UP)
53
+ } else if (e->type == SAPP_EVENTTYPE_MOUSE_UP){
53
54
Supernova::Engine::systemMouseUp (convMouseButtom (e->mouse_button ), e->mouse_x , e->mouse_y , e->modifiers );
54
- else if (e->type == SAPP_EVENTTYPE_MOUSE_DOWN)
55
+ } else if (e->type == SAPP_EVENTTYPE_MOUSE_DOWN){
55
56
Supernova::Engine::systemMouseDown (convMouseButtom (e->mouse_button ), e->mouse_x , e->mouse_y , e->modifiers );
56
- else if (e->type == SAPP_EVENTTYPE_MOUSE_UP)
57
+ } else if (e->type == SAPP_EVENTTYPE_MOUSE_UP){
57
58
Supernova::Engine::systemMouseUp (convMouseButtom (e->mouse_button ), e->mouse_x , e->mouse_y , e->modifiers );
58
- else if (e->type == SAPP_EVENTTYPE_MOUSE_MOVE)
59
+ } else if (e->type == SAPP_EVENTTYPE_MOUSE_MOVE){
59
60
Supernova::Engine::systemMouseMove (e->mouse_x , e->mouse_y , e->modifiers );
60
- else if (e->type == SAPP_EVENTTYPE_MOUSE_SCROLL)
61
+ } else if (e->type == SAPP_EVENTTYPE_MOUSE_SCROLL){
61
62
Supernova::Engine::systemMouseScroll (e->scroll_x , e->scroll_y , e->modifiers );
62
- else if (e->type == SAPP_EVENTTYPE_MOUSE_ENTER)
63
+ } else if (e->type == SAPP_EVENTTYPE_MOUSE_ENTER){
63
64
Supernova::Engine::systemMouseEnter ();
64
- else if (e->type == SAPP_EVENTTYPE_MOUSE_LEAVE)
65
+ } else if (e->type == SAPP_EVENTTYPE_MOUSE_LEAVE){
65
66
Supernova::Engine::systemMouseLeave ();
67
+ }
66
68
}
67
69
68
70
void sokol_cleanup (void ) {
0 commit comments