#macro #dsl #remapping #keyboard #layer #active #qsk

macro qsk-macros

Remapping DSL macro to make qsk remapping more concise

1 unstable release

0.1.0 Mar 5, 2022

#5 in #remapping


Used in 2 crates

MIT/Apache

63KB
2K SLoC

qsk-macros

qsk-macros contains the remap! macro that enables qsk users to concisely define their keyboard remapping layers. Usage looks like the following:

qsk_macros::remap!(
    ModLayer[Active]: {
        F -> TT(Navigation, F),
    },
    Navigation: {
        END -> Exit(),
        Y -> HOME,
        U -> PAGEDOWN,
        I -> PAGEUP,
        O -> END,
        H -> LEFT,
        J -> DOWN,
        K -> UP,
        SEMICOLON -> RIGHT,
    },
)

This mini keyboard-remapping DSL expands into a Rust expression with the type Result<LayerComposer>, which can is used in qsk's remapping engine to actually perform keyboard transformations on input.

Dependencies

~1.5–2.6MB
~50K SLoC