aboutsummaryrefslogtreecommitdiff
path: root/src/Chelleport/Control.hs
blob: 04362bd8e6fac9c3350e9fb2e1c3bb25f3b41cd4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module Chelleport.Control where

import Chelleport.Context (DrawContext (ctxX11Display))
import Foreign.C (CInt)
import qualified Graphics.X11 as X11
import qualified Graphics.X11.XTest as X11
import qualified Graphics.X11.Xlib.Extras as X11
import qualified SDL

triggerMouseLeftClick :: DrawContext -> IO ()
triggerMouseLeftClick ctx = do
  let display = ctxX11Display ctx
  X11.fakeButtonPress display X11.button1
  X11.sync display False

moveMouse :: CInt -> CInt -> IO ()
moveMouse x y = do
  SDL.warpMouse SDL.WarpGlobal (SDL.P $ SDL.V2 x y)