kmonad-0.4.2: Advanced keyboard remapping utility
Copyright(c) David Janssen 2019
LicenseMIT
Maintainerjanssen.dhj@gmail.com
Stabilityexperimental
Portabilitynon-portable (MPTC with FD, FFI to Linux-only c-code)
Safe HaskellSafe-Inferred
LanguageHaskell2010

KMonad.Args.Types

Description

 
Synopsis

$cfg

data CfgToken Source #

The CfgToken contains all the data needed to construct an AppCfg.

Constructors

CfgToken 

Fields

$but

data DefButton Source #

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

Instances

Instances details
Show DefButton Source # 
Instance details

Defined in KMonad.Args.Types

$tls

data DefSetting Source #

All possible single settings

Instances

Instances details
Show DefSetting Source # 
Instance details

Defined in KMonad.Args.Types

Eq DefSetting Source #

Eq instance for a DefSetting. Because every one of these options may be given at most once, we only need to check the outermost constructor in order to test for equality

Instance details

Defined in KMonad.Args.Types

AsDefSetting DefSetting Source # 
Instance details

Defined in KMonad.Args.Types

type DefSettings = [DefSetting] Source #

A list of different DefSetting values

type DefAlias = [(Text, DefButton)] Source #

A mapping from names to button tokens

data DefLayer Source #

A layer of buttons

Constructors

DefLayer 

Fields

Instances

Instances details
Show DefLayer Source # 
Instance details

Defined in KMonad.Args.Types

type DefSrc = [Keycode] Source #

A list of keycodes describing the ordering of all the other layers

data KExpr Source #

Any statement in a config-file must parse to a KExpr

$defio

data IToken Source #

All different input-tokens KMonad can take

Instances

Instances details
Show IToken Source # 
Instance details

Defined in KMonad.Args.Types

data OToken Source #

All different output-tokens KMonad can take

Instances

Instances details
Show OToken Source # 
Instance details

Defined in KMonad.Args.Types

$lenses