Skip to content

Commit

Permalink
Remote tablet stuff that isn't yet actually implemented
Browse files Browse the repository at this point in the history
  • Loading branch information
Markus Ongyerth committed Apr 21, 2019
1 parent 7917b24 commit 18ab493
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 19 deletions.
2 changes: 1 addition & 1 deletion src/Waymonad/Input/Tablet.hs
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ handleTabletPosition seat dev tablet tool time x y = do
if accepts
then do
R.sendTabletToolProximityIn (T.toolRoots tool) (T.tabRoots tablet) surf
R.sendTabletToolMotion (T.toolRoots tool) sx sy
--R.sendTabletToolMotion (T.toolRoots tool) sx sy
else liftIO $ R.sendTabletToolProximityOut $ T.toolRoots tool

handleTabletAxis :: (FocusCore vs ws, WSTag ws) => Seat -> Tablet -> Ptr ToolAxisEvent -> Way vs ws ()
Expand Down
36 changes: 18 additions & 18 deletions src/Waymonad/Input/TabletPad.hs
Original file line number Diff line number Diff line change
Expand Up @@ -76,36 +76,36 @@ import qualified Waymonad.Tabletv2 as W
import qualified Graphics.Wayland.WlRoots.Tabletv2 as R


handlePadStrip :: MonadIO m => TabletPad -> Ptr PadStripEvent -> m ()
handlePadStrip pad evt_ptr = liftIO $ do
evt <- peek evt_ptr
R.sendTabletPadStrip (padRoots pad) (padStripEvtStrip evt) (padStripEvtPosition evt) (padStripEvtSource evt == StripSourceFinger) (padStripEvtTime evt)

handlePadRing :: MonadIO m => TabletPad -> Ptr PadRingEvent -> m ()
handlePadRing pad evt_ptr = liftIO $ do
evt <- peek evt_ptr
R.sendTabletPadRing (padRoots pad) (padRingEvtRing evt) (padRingEvtPosition evt) (padRingEvtSource evt == RingSourceFinger) (padRingEvtTime evt)

handlePadButton :: TabletPad -> Ptr PadButtonEvent -> Way vs a ()
handlePadButton pad evt_ptr = liftIO $ do
evt <- peek evt_ptr
R.sendTabletPadButton (padRoots pad) (padButtonEvtButton evt) (padButtonEvtTime evt) (padButtonEvtState evt)
--handlePadStrip :: MonadIO m => TabletPad -> Ptr PadStripEvent -> m ()
--handlePadStrip pad evt_ptr = liftIO $ do
-- evt <- peek evt_ptr
-- R.sendTabletPadStrip (padRoots pad) (padStripEvtStrip evt) (padStripEvtPosition evt) (padStripEvtSource evt == StripSourceFinger) (padStripEvtTime evt)
--
--handlePadRing :: MonadIO m => TabletPad -> Ptr PadRingEvent -> m ()
--handlePadRing pad evt_ptr = liftIO $ do
-- evt <- peek evt_ptr
-- R.sendTabletPadRing (padRoots pad) (padRingEvtRing evt) (padRingEvtPosition evt) (padRingEvtSource evt == RingSourceFinger) (padRingEvtTime evt)
--
--handlePadButton :: TabletPad -> Ptr PadButtonEvent -> Way vs a ()
--handlePadButton pad evt_ptr = liftIO $ do
-- evt <- peek evt_ptr
-- R.sendTabletPadButton (padRoots pad) (padButtonEvtButton evt) (padButtonEvtTime evt) (padButtonEvtState evt)


handlePadAdd :: WSTag a => Seat -> Ptr InputDevice -> WlrTabletPad -> Way vs a ()
handlePadAdd seat dev pad = do
let events = getPadEvents pad
padRef <- liftIO . newIORef $ error "Tried to access a TabletPad from IORef before it was written"
let readPad = unsafePerformIO $ readIORef padRef
stripToken <- setSignalHandler (padEventStrip events) $ handlePadStrip readPad
ringToken <- setSignalHandler (padEventRing events) $ handlePadRing readPad
buttonToken <- setSignalHandler (padEventButton events) $ handlePadButton readPad
-- stripToken <- setSignalHandler (padEventStrip events) $ handlePadStrip readPad
-- ringToken <- setSignalHandler (padEventRing events) $ handlePadRing readPad
-- buttonToken <- setSignalHandler (padEventButton events) $ handlePadButton readPad

doJust W.getManager $ \mgr -> liftIO $ do
roots <- (R.createTabletPadv2 mgr (seatRoots seat) dev)
tabRef <- newIORef Nothing
readIORef (seatTablets seat) >>= void . traverse (writeIORef tabRef . Just) . S.toList
let wayPad = TabletPad roots [stripToken, ringToken, buttonToken] tabRef
let wayPad = TabletPad roots {-[stripToken, ringToken, buttonToken]-}[] tabRef
pokePadData pad . castStablePtrToPtr =<< newStablePtr wayPad
writeIORef padRef wayPad

Expand Down

0 comments on commit 18ab493

Please sign in to comment.