Skip to content

Commit 7c8d88e

Browse files
committed
support imgui modifiers
1 parent 0a918d3 commit 7c8d88e

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

src/lib.rs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -350,14 +350,23 @@ fn handle_key(io: &mut Io, key: &Scancode, pressed: bool) {
350350

351351
/// Handle changes in the key modifier states.
352352
fn handle_key_modifier(io: &mut Io, keymod: &Mod) {
353-
io.add_key_event(imgui::Key::LeftShift, keymod.intersects(Mod::LSHIFTMOD));
354-
io.add_key_event(imgui::Key::RightShift, keymod.intersects(Mod::RSHIFTMOD));
355-
io.add_key_event(imgui::Key::LeftCtrl, keymod.intersects(Mod::LCTRLMOD));
356-
io.add_key_event(imgui::Key::RightCtrl, keymod.intersects(Mod::RCTRLMOD));
357-
io.add_key_event(imgui::Key::LeftAlt, keymod.intersects(Mod::LALTMOD));
358-
io.add_key_event(imgui::Key::RightAlt, keymod.intersects(Mod::RALTMOD));
359-
io.add_key_event(imgui::Key::LeftSuper, keymod.intersects(Mod::LGUIMOD));
360-
io.add_key_event(imgui::Key::RightSuper, keymod.intersects(Mod::RGUIMOD));
353+
// handle the actual modifiers:
354+
io.add_key_event(
355+
imgui::Key::ModShift,
356+
keymod.intersects(Mod::LSHIFTMOD | Mod::RSHIFTMOD),
357+
);
358+
io.add_key_event(
359+
imgui::Key::ModCtrl,
360+
keymod.intersects(Mod::LCTRLMOD | Mod::RCTRLMOD),
361+
);
362+
io.add_key_event(
363+
imgui::Key::ModAlt,
364+
keymod.intersects(Mod::LALTMOD | Mod::RALTMOD),
365+
);
366+
io.add_key_event(
367+
imgui::Key::ModSuper,
368+
keymod.intersects(Mod::LGUIMOD | Mod::RGUIMOD),
369+
);
361370
}
362371

363372
/// Map an imgui::MouseCursor to an equivalent sdl2::mouse::SystemCursor.

0 commit comments

Comments
 (0)