kmonad-0.4.4: Advanced keyboard remapping utility
KMonad is a cross-platform command-line utility that runs as a daemon. It captures keyboard input (exactly how depends on the OS) and remaps it. The mapping is highly configurable, and provides options like (transparent) layer overlays, tap-mod buttons, multi-tap buttons, leader-key style buttons, and keyboard macros. Functionality heavily inspired by the QMK-firmware.
Modules
kmonad-0.4.4
- KMonad
- KMonad.App The central app-loop of KMonad
- KMonad.App.Main The entry-point to KMonad
- KMonad.App.Types
- KMonad.Args How to parse arguments and config files into an AppCfg
- KMonad.Args.Cmd Parse command-line options into a
Cmdfor KMonad to execute - KMonad.Args.Joiner The code that turns tokens into a DaemonCfg
- KMonad.Args.Parser How to turn a text-file into config-tokens
- KMonad.Args.TH Template Haskell to use in the CLI
- KMonad.Args.Types The basic types of configuration parsing.
- KMonad.Args.Cmd Parse command-line options into a
- KMonad.Gesture
- KMonad.Keyboard Basic keyboard types
- KMonad.Keyboard.ComposeSeq A list of compose-sequences
- KMonad.Keyboard.IO The logic behind sending and receiving key events to the OS
- Linux
- KMonad.Keyboard.IO.Linux.DeviceSource Load and acquire a linux devinput device
- KMonad.Keyboard.IO.Linux.Types The types particular to Linux key IO
- KMonad.Keyboard.IO.Linux.UinputSink Using Linux's uinput interface to emit events
- Mac
- Windows
- KMonad.Keyboard.IO.Windows.Types The Windows-specific representation of KeyEvent.
- Linux
- KMonad.Keyboard.Keycode Description of all possible keycodes.
- KMonad.Keyboard.Ops
- KMonad.Keyboard.Types
- KMonad.Model
- KMonad.Model.Action Collection of basic operations
- KMonad.Model.BEnv Implementation details behind
Button - KMonad.Model.Button How buttons work
- KMonad.Model.Dispatch
- KMonad.Model.Hooks Component for handling hooks
- KMonad.Model.Keymap Implementation of mapping key-presses to button actions
- KMonad.Model.Sluice The component that provides pausing functionality
- KMonad.Parsing
- KMonad.Prelude
- KMonad.Util Various bits and bobs that I don't know where to put
- KMonad.Util.LayerStack A container of overlapping mappings
- KMonad.Util.MultiMap A `k -> Set v` mapping, with reversing utilities
- KMonad.App The central app-loop of KMonad
- Paths_kmonad