Skip to content

Commit 32169b5

Browse files
gaborpappandrewfb
authored andcommitted
Fix ImGui Ctrl+Click functionality on Linux
1 parent 1196bfd commit 32169b5

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/cinder/CinderImGui.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,10 @@ static void ImGui_ImplCinder_MouseDown( ci::app::MouseEvent& event )
358358
io.MouseDown[0] = event.isLeftDown();
359359
io.MouseDown[1] = event.isRightDown();
360360
io.MouseDown[2] = event.isMiddleDown();
361+
io.KeyCtrl = event.isControlDown();
362+
io.KeyShift = event.isShiftDown();
363+
io.KeyAlt = event.isAltDown();
364+
io.KeySuper = event.isMetaDown();
361365
event.setHandled( io.WantCaptureMouse );
362366
}
363367
static void ImGui_ImplCinder_MouseUp( ci::app::MouseEvent& event )
@@ -366,25 +370,41 @@ static void ImGui_ImplCinder_MouseUp( ci::app::MouseEvent& event )
366370
io.MouseDown[0] = false;
367371
io.MouseDown[1] = false;
368372
io.MouseDown[2] = false;
373+
io.KeyCtrl = event.isControlDown();
374+
io.KeyShift = event.isShiftDown();
375+
io.KeyAlt = event.isAltDown();
376+
io.KeySuper = event.isMetaDown();
369377
}
370378
static void ImGui_ImplCinder_MouseWheel( ci::app::MouseEvent& event )
371379
{
372380
ImGuiIO& io = ImGui::GetIO();
373381
io.MouseWheel += event.getWheelIncrement();
382+
io.KeyCtrl = event.isControlDown();
383+
io.KeyShift = event.isShiftDown();
384+
io.KeyAlt = event.isAltDown();
385+
io.KeySuper = event.isMetaDown();
374386
event.setHandled( io.WantCaptureMouse );
375387
}
376388

377389
static void ImGui_ImplCinder_MouseMove( ci::app::MouseEvent& event )
378390
{
379391
ImGuiIO& io = ImGui::GetIO();
380392
io.MousePos = event.getWindow()->toPixels( event.getPos() );
393+
io.KeyCtrl = event.isControlDown();
394+
io.KeyShift = event.isShiftDown();
395+
io.KeyAlt = event.isAltDown();
396+
io.KeySuper = event.isMetaDown();
381397
event.setHandled( io.WantCaptureMouse );
382398
}
383399
//! sets the right mouseDrag IO values in imgui
384400
static void ImGui_ImplCinder_MouseDrag( ci::app::MouseEvent& event )
385401
{
386402
ImGuiIO& io = ImGui::GetIO();
387403
io.MousePos = event.getWindow()->toPixels( event.getPos() );
404+
io.KeyCtrl = event.isControlDown();
405+
io.KeyShift = event.isShiftDown();
406+
io.KeyAlt = event.isAltDown();
407+
io.KeySuper = event.isMetaDown();
388408
event.setHandled( io.WantCaptureMouse );
389409
}
390410

0 commit comments

Comments
 (0)