diff --git a/crates/edit/src/input.rs b/crates/edit/src/input.rs index bff72fc9b8a..0b956623bc0 100644 --- a/crates/edit/src/input.rs +++ b/crates/edit/src/input.rs @@ -444,7 +444,12 @@ impl<'input> Iterator for Stream<'_, '_, 'input> { mouse.state = InputMouseState::None; if (btn & 0x40) != 0 { mouse.state = InputMouseState::Scroll; - mouse.scroll.y += if (btn & 0x01) != 0 { 3 } else { -3 }; + let scroll_mult = if (btn & 0x08) != 0 { 5 } else { 1 }; + if (btn & 0x06) != 0 { + mouse.scroll.x += if (btn & 0x01) != 0 { 7 } else { -7 } * scroll_mult; + } else { + mouse.scroll.y += if (btn & 0x01) != 0 { 3 } else { -3 } * scroll_mult; + } } else if csi.final_byte == 'M' { const STATES: [InputMouseState; 4] = [ InputMouseState::Left,