diff --git a/examples/emscripten0/index-tmpl.html b/examples/emscripten0/index-tmpl.html index 9c52d789..93f21f9c 100644 --- a/examples/emscripten0/index-tmpl.html +++ b/examples/emscripten0/index-tmpl.html @@ -97,6 +97,16 @@ event.preventDefault(); } + function oncontextmenu(event) { + if (event.pointerId == 1) { + onpointerdown(event); + } else { + onpointerup(event); + } + + event.preventDefault(); + } + function onwheel(event) { let scale = 1.0; switch (event.deltaMode) { @@ -162,7 +172,7 @@ screen.addEventListener('pointerup', onpointerup); screen.addEventListener('mouseup', onpointerup); - screen.addEventListener('contextmenu', function(event) { event.preventDefault(); }); + screen.addEventListener('contextmenu', function(event) { oncontextmenu(event); }); screen.addEventListener('wheel', onwheel, false); screen.addEventListener('touchstart', ontouch); diff --git a/src/imtui-impl-emscripten.cpp b/src/imtui-impl-emscripten.cpp index b4e1115b..cb314c17 100644 --- a/src/imtui-impl-emscripten.cpp +++ b/src/imtui-impl-emscripten.cpp @@ -65,8 +65,8 @@ void ImTui_ImplEmscripten_NewFrame() { ImGui::GetIO().MouseWheelH = lastMouseWheelH; ImGui::GetIO().MouseWheel = lastMouseWheel; ImGui::GetIO().MouseDown[0] = lastMouseDown[0]; - ImGui::GetIO().MouseDown[1] = lastMouseDown[1]; - ImGui::GetIO().MouseDown[2] = lastMouseDown[2]; + ImGui::GetIO().MouseDown[1] = lastMouseDown[2]; // right-click in browser is 2 + ImGui::GetIO().MouseDown[2] = lastMouseDown[1]; // scroll-click in browser is 1 ImGui::GetIO().MouseDown[3] = lastMouseDown[3]; ImGui::GetIO().MouseDown[4] = lastMouseDown[4];