Copyright | (c) David Janssen 2019 |
---|---|
License | MIT |
Maintainer | janssen.dhj@gmail.com |
Stability | experimental |
Portability | non-portable (MPTC with FD, FFI to Linux-only c-code) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
KMonad.Args.Types
Description
Synopsis
- data CfgToken = CfgToken {}
- data DefButton
- = KRef Text
- | KEmit Keycode
- | KPressOnly Keycode
- | KReleaseOnly Keycode
- | KLayerToggle Text
- | KLayerSwitch Text
- | KLayerAdd Text
- | KLayerRem Text
- | KTapNext DefButton DefButton
- | KTapHold Int DefButton DefButton
- | KTapHoldNext Int DefButton DefButton (Maybe DefButton)
- | KTapNextRelease DefButton DefButton
- | KTapHoldNextRelease Int DefButton DefButton (Maybe DefButton)
- | KTapNextPress DefButton DefButton
- | KTapHoldNextPress Int DefButton DefButton (Maybe DefButton)
- | KAroundNext DefButton
- | KAroundNextSingle DefButton
- | KMultiTap [(Int, DefButton)] DefButton
- | KStepped [DefButton]
- | KAround DefButton DefButton
- | KAroundOnly DefButton DefButton
- | KAroundWhenAlone DefButton DefButton
- | KAroundImplicit DefButton DefButton
- | KAroundNextTimeout Int DefButton DefButton
- | KTapMacro [DefButton] (Maybe Int)
- | KTapMacroRelease [DefButton] (Maybe Int)
- | KComposeSeq [DefButton]
- | KPause Milliseconds
- | KLayerDelay Int LayerTag
- | KLayerNext LayerTag
- | KCommand Text (Maybe Text)
- | KStickyKey Int DefButton
- | KBeforeAfterNext DefButton DefButton
- | KTrans
- | KBlock
- data ImplArnd
- data DefSetting
- type DefSettings = [DefSetting]
- type DefAlias = [(Text, DefButton)]
- data DefLayerSetting
- data DefLayer = DefLayer {}
- data DefSrc = DefSrc {}
- data KExpr
- data IToken
- data OToken
- = KUinputSink Text (Maybe Text)
- | KSendEventSink (Maybe (Int, Int))
- | KKextSink
- class AsKExpr r where
- _KExpr :: Prism' r KExpr
- _KDefCfg :: Prism' r DefSettings
- _KDefSrc :: Prism' r DefSrc
- _KDefLayer :: Prism' r DefLayer
- _KDefAlias :: Prism' r DefAlias
- class AsDefSetting r where
- _DefSetting :: Prism' r DefSetting
- _SIToken :: Prism' r IToken
- _SOToken :: Prism' r OToken
- _SCmpSeq :: Prism' r DefButton
- _SFallThrough :: Prism' r Bool
- _SAllowCmd :: Prism' r Bool
- _SCmpSeqDelay :: Prism' r Int
- _SKeySeqDelay :: Prism' r Int
- _SImplArnd :: Prism' r ImplArnd
- class HasDefSrc c where
- class AsDefLayerSetting r where
- _DefLayerSetting :: Prism' r DefLayerSetting
- _LSrcName :: Prism' r Text
- _LImplArnd :: Prism' r ImplArnd
- _LButton :: Prism' r DefButton
$cfg
Constructors
CfgToken | |
Fields
|
$but
Button ADT
Constructors
KRef Text | Reference a named button |
KEmit Keycode | Emit a keycode |
KPressOnly Keycode | Emit only the press of a keycode |
KReleaseOnly Keycode | Emit only the release of a keycode |
KLayerToggle Text | Toggle to a layer when held |
KLayerSwitch Text | Switch base-layer when pressed |
KLayerAdd Text | Add a layer when pressed |
KLayerRem Text | Remove top instance of a layer when pressed |
KTapNext DefButton DefButton | Do 2 things based on behavior |
KTapHold Int DefButton DefButton | Do 2 things based on behavior and delay |
KTapHoldNext Int DefButton DefButton (Maybe DefButton) | Mixture between KTapNext and KTapHold |
KTapNextRelease DefButton DefButton | Do 2 things based on behavior |
KTapHoldNextRelease Int DefButton DefButton (Maybe DefButton) | Like KTapNextRelease but with a timeout |
KTapNextPress DefButton DefButton | Like KTapNextRelease but also hold on presses |
KTapHoldNextPress Int DefButton DefButton (Maybe DefButton) | Like KTapNextPress but with a timeout |
KAroundNext DefButton | Surround a future button |
KAroundNextSingle DefButton | Surround a future button |
KMultiTap [(Int, DefButton)] DefButton | Do things depending on tap-count |
KStepped [DefButton] | Do different things, one-by-one |
KAround DefButton DefButton | Wrap 1 button around another |
KAroundOnly DefButton DefButton | Wrap 1 button only around another |
KAroundWhenAlone DefButton DefButton | Wrap 1 button around another when it's "alone" |
KAroundImplicit DefButton DefButton | Wrap 1 button around another |
KAroundNextTimeout Int DefButton DefButton | |
KTapMacro [DefButton] (Maybe Int) | Sequence of buttons to tap, possible delay between each press |
KTapMacroRelease [DefButton] (Maybe Int) | Sequence of buttons to tap, tap last on release, possible delay between each press |
KComposeSeq [DefButton] | Compose-key sequence |
KPause Milliseconds | Pause for a period of time |
KLayerDelay Int LayerTag | Switch to a layer for a period of time |
KLayerNext LayerTag | Perform next button in different layer |
KCommand Text (Maybe Text) | Execute a shell command on press, as well as possibly on release |
KStickyKey Int DefButton | Act as if a button is pressed for a period of time |
KBeforeAfterNext DefButton DefButton | Surround a future button in a before and after tap |
KTrans | Transparent button that does nothing |
KBlock | Button that catches event |
Instances
Data DefButton Source # | |
Defined in KMonad.Args.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DefButton -> c DefButton # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DefButton # toConstr :: DefButton -> Constr # dataTypeOf :: DefButton -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DefButton) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DefButton) # gmapT :: (forall b. Data b => b -> b) -> DefButton -> DefButton # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DefButton -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DefButton -> r # gmapQ :: (forall d. Data d => d -> u) -> DefButton -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DefButton -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DefButton -> m DefButton # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DefButton -> m DefButton # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DefButton -> m DefButton # | |
Show DefButton Source # | |
Eq DefButton Source # | |
Plated DefButton Source # | |
Defined in KMonad.Args.Types Methods |
Possible values for implicit around
Constructors
IADisabled | |
IAAround | |
IAAroundOnly | |
IAAroundWhenAlone |
Instances
$tls
data DefSetting Source #
All possible single settings
Constructors
SIToken IToken | |
SOToken OToken | |
SCmpSeq DefButton | |
SFallThrough Bool | |
SAllowCmd Bool | |
SCmpSeqDelay Int | |
SKeySeqDelay Int | |
SImplArnd ImplArnd |
Instances
Show DefSetting Source # | |
Defined in KMonad.Args.Types Methods showsPrec :: Int -> DefSetting -> ShowS # show :: DefSetting -> String # showList :: [DefSetting] -> ShowS # | |
Eq DefSetting Source # |
|
Defined in KMonad.Args.Types | |
AsDefSetting DefSetting Source # | |
Defined in KMonad.Args.Types Methods _DefSetting :: Prism' DefSetting DefSetting Source # _SIToken :: Prism' DefSetting IToken Source # _SOToken :: Prism' DefSetting OToken Source # _SCmpSeq :: Prism' DefSetting DefButton Source # _SFallThrough :: Prism' DefSetting Bool Source # _SAllowCmd :: Prism' DefSetting Bool Source # _SCmpSeqDelay :: Prism' DefSetting Int Source # |
type DefSettings = [DefSetting] Source #
A list of different DefSetting
values
data DefLayerSetting Source #
Instances
Show DefLayerSetting Source # | |
Defined in KMonad.Args.Types Methods showsPrec :: Int -> DefLayerSetting -> ShowS # show :: DefLayerSetting -> String # showList :: [DefLayerSetting] -> ShowS # | |
Eq DefLayerSetting Source # | |
Defined in KMonad.Args.Types Methods (==) :: DefLayerSetting -> DefLayerSetting -> Bool # (/=) :: DefLayerSetting -> DefLayerSetting -> Bool # | |
AsDefLayerSetting DefLayerSetting Source # | |
A layer of buttons
Constructors
DefLayer | |
Fields
|
Instances
A list of keycodes describing the ordering used by all other layers | which is associated with a name.
Constructors
DefSrc | |
Any statement in a config-file must parse to a KExpr
$defio
All different input-tokens KMonad can take
Constructors
KDeviceSource FilePath | |
KLowLevelHookSource | |
KIOKitSource (Maybe Text) |
All different output-tokens KMonad can take
Constructors
KUinputSink Text (Maybe Text) | |
KSendEventSink (Maybe (Int, Int)) | |
KKextSink |
$lenses
class AsKExpr r where Source #
Minimal complete definition
class AsDefSetting r where Source #
Minimal complete definition
Methods
_DefSetting :: Prism' r DefSetting Source #
_SIToken :: Prism' r IToken Source #
_SOToken :: Prism' r OToken Source #
_SCmpSeq :: Prism' r DefButton Source #
_SFallThrough :: Prism' r Bool Source #
_SAllowCmd :: Prism' r Bool Source #
_SCmpSeqDelay :: Prism' r Int Source #
_SKeySeqDelay :: Prism' r Int Source #
_SImplArnd :: Prism' r ImplArnd Source #
Instances
class HasDefSrc c where Source #
Minimal complete definition
class AsDefLayerSetting r where Source #
Minimal complete definition
Methods
_DefLayerSetting :: Prism' r DefLayerSetting Source #
_LSrcName :: Prism' r Text Source #
_LImplArnd :: Prism' r ImplArnd Source #