Skip to content

Commit 9b69e19

Browse files
committed
Fixed Macos backspace using sokol_app
1 parent 5b3f345 commit 9b69e19

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

platform/sokol/main.cpp

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ int convMouseButtom(sapp_mousebutton mouse_button){
2727
}
2828

2929
static void sokol_event(const sapp_event* e) {
30-
if (e->type == SAPP_EVENTTYPE_RESIZED)
30+
if (e->type == SAPP_EVENTTYPE_RESIZED){
3131
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){
3536
if (e->key_code == SAPP_KEYCODE_TAB)
3637
Supernova::Engine::systemCharInput('\t');
3738
if (e->key_code == SAPP_KEYCODE_BACKSPACE)
@@ -40,29 +41,30 @@ static void sokol_event(const sapp_event* e) {
4041
Supernova::Engine::systemCharInput('\r');
4142
if (e->key_code == SAPP_KEYCODE_ESCAPE)
4243
Supernova::Engine::systemCharInput('\33'); // removed 'e' to avoid warnings
43-
//Use same keycode of GLFW
44+
// use same keycode of GLFW
4445
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
4748
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){
4950
Supernova::Engine::systemPause();
50-
else if (e->type == SAPP_EVENTTYPE_RESUMED)
51+
}else if (e->type == SAPP_EVENTTYPE_RESUMED){
5152
Supernova::Engine::systemResume();
52-
else if (e->type == SAPP_EVENTTYPE_MOUSE_UP)
53+
}else if (e->type == SAPP_EVENTTYPE_MOUSE_UP){
5354
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){
5556
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){
5758
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){
5960
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){
6162
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){
6364
Supernova::Engine::systemMouseEnter();
64-
else if (e->type == SAPP_EVENTTYPE_MOUSE_LEAVE)
65+
}else if (e->type == SAPP_EVENTTYPE_MOUSE_LEAVE){
6566
Supernova::Engine::systemMouseLeave();
67+
}
6668
}
6769

6870
void sokol_cleanup(void) {

0 commit comments

Comments
 (0)