| 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
- | KAroundNext DefButton
- | KAroundNextSingle DefButton
- | KMultiTap [(Int, DefButton)] DefButton
- | KAround 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 DefSetting
- type DefSettings = [DefSetting]
- type DefAlias = [(Text, DefButton)]
- data DefLayer = DefLayer {
- _layerName :: Text
- _buttons :: [DefButton]
- type DefSrc = [Keycode]
- 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
- _SInitStr :: Prism' r Text
- _SFallThrough :: Prism' r Bool
- _SAllowCmd :: Prism' r Bool
- _SCmpSeqDelay :: Prism' r Int
$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 |
| KAroundNext DefButton | Surround a future button |
| KAroundNextSingle DefButton | Surround a future button |
| KMultiTap [(Int, DefButton)] DefButton | Do things depending on tap-count |
| KAround 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 |
$tls
data DefSetting Source #
All possible single settings
Constructors
| SIToken IToken | |
| SOToken OToken | |
| SCmpSeq DefButton | |
| SInitStr Text | |
| SFallThrough Bool | |
| SAllowCmd Bool | |
| SCmpSeqDelay Int |
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 # _SInitStr :: Prism' DefSetting Text Source # _SFallThrough :: Prism' DefSetting Bool Source # | |
type DefSettings = [DefSetting] Source #
A list of different DefSetting values
A layer of buttons
Constructors
| DefLayer | |
Fields
| |
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 #
_SInitStr :: Prism' r Text Source #
_SFallThrough :: Prism' r Bool Source #
_SAllowCmd :: Prism' r Bool Source #
_SCmpSeqDelay :: Prism' r Int Source #
Instances
| 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 # _SInitStr :: Prism' DefSetting Text Source # _SFallThrough :: Prism' DefSetting Bool Source # | |