on master help sign in
Mouse: also request motion events while buttons are pressed
ff9f4e6Jonathan Daugherty
src/Graphics/Vty/Input/Mouse.hs+7−7
@@ -1,6 +1,6 @@
1module Graphics.Vty.Input.Mouse
1module Graphics.Vty.Input.Mouse
2− ( requestSGRMouseEvents
2+ ( requestMouseEvents
3− , disableSGRMouseEvents
3+ , disableMouseEvents
4 , isMouseEvent
4 , isMouseEvent
5 , classifyMouseEvent
5 , classifyMouseEvent
6 ) where
6 ) where
@@ -30,13 +30,13 @@ import Data.Bits ((.&.))
30-- * the final character is 'M' for a press, 'm' for a release
30-- * the final character is 'M' for a press, 'm' for a release
31
31
32-- | These sequences set xterm-based terminals to send mouse event
32-- | These sequences set xterm-based terminals to send mouse event
33−-- sequences. This requests SGR extended mouse events.
33+-- sequences.
34−requestSGRMouseEvents :: String
34+requestMouseEvents :: String
35−requestSGRMouseEvents = "\ESC[?1000h\ESC[?1006h"
35+requestMouseEvents = "\ESC[?1000h\ESC[?1006h\ESC[?1003h"
36
36
37-- | These sequences disable mouse events.
37-- | These sequences disable mouse events.
38−disableSGRMouseEvents :: String
38+disableMouseEvents :: String
39−disableSGRMouseEvents = "\ESC[?1000l\ESC[?1006l"
39+disableMouseEvents = "\ESC[?1000l\ESC[?1006l\ESC[?1003l"
40
40
41-- | Does the specified string begin with a mouse event?"
41-- | Does the specified string begin with a mouse event?"
42isMouseEvent :: String -> Bool
42isMouseEvent :: String -> Bool
src/Graphics/Vty/Output/XTermColor.hs+2−2
@@ -34,13 +34,13 @@ reserveTerminal variant outFd = liftIO $ do
34 -- xterm-color is broken.
34 -- xterm-color is broken.
35 let variant' = if variant == "xterm-color" then "xterm" else variant
35 let variant' = if variant == "xterm-color" then "xterm" else variant
36 flushedPut setUtf8CharSet
36 flushedPut setUtf8CharSet
37− flushedPut requestSGRMouseEvents
37+ flushedPut requestMouseEvents
38 t <- TerminfoBased.reserveTerminal variant' outFd
38 t <- TerminfoBased.reserveTerminal variant' outFd
39 let t' = t
39 let t' = t
40 { terminalID = terminalID t ++ " (xterm-color)"
40 { terminalID = terminalID t ++ " (xterm-color)"
41 , releaseTerminal = do
41 , releaseTerminal = do
42 liftIO $ flushedPut setDefaultCharSet
42 liftIO $ flushedPut setDefaultCharSet
43− liftIO $ flushedPut disableSGRMouseEvents
43+ liftIO $ flushedPut disableMouseEvents
44 releaseTerminal t
44 releaseTerminal t
45 , mkDisplayContext = \tActual r -> do
45 , mkDisplayContext = \tActual r -> do
46 dc <- mkDisplayContext t tActual r
46 dc <- mkDisplayContext t tActual r