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];