Skip to content

Suggestion:Cleaned up properties #40

@brimwats

Description

@brimwats

I always clean up my mousemaster properties, and thought i'd contribute back if it's useful

(note that the idle mode indicator is active here)

# ┌──────────┐
# │ Aliases │
# └──────────┘
# mousemaster will automatically convert the key aliases to your current keyboard layout.
# However, if you want to make a change to the key aliases, and your keyboard layout
# is not us-qwerty, then remove .us-qwerty
key-alias.enablebasekey.us-qwerty=e capslock
key-alias.exit.us-qwerty=q p
key-alias.clickthendisable.us-qwerty=.
key-alias.up.us-qwerty=i
key-alias.down.us-qwerty=k
key-alias.left.us-qwerty=j
key-alias.right.us-qwerty=l
key-alias.edge.us-qwerty=rightalt
key-alias.wheelup.us-qwerty=,
key-alias.wheeldown.us-qwerty=m
key-alias.wheelleft.us-qwerty=u
key-alias.wheelright.us-qwerty=o
key-alias.leftbutton.us-qwerty=;
key-alias.rightbutton.us-qwerty='
key-alias.middlebutton.us-qwerty=rightshift
key-alias.toggleleft.us-qwerty=n
key-alias.fast.us-qwerty=v b
key-alias.slow.us-qwerty=leftshift
key-alias.superslow.us-qwerty=capslock
key-alias.grid.us-qwerty=g
key-alias.hint.us-qwerty=f
key-alias.screenselection.us-qwerty=c
key-alias.navigateback.us-qwerty=h
key-alias.navigateforward.us-qwerty=y
key-alias.hint1key.us-qwerty=q w e r t a s d f g z x c v b y u i o p h j k l ; n m , . /
key-alias.hint2key.us-qwerty=q w e r u i o p a s d f j k l ; z x c v m , . /
key-alias.extendedhint1key.us-qwerty=1 2 3 4 5 6 7 8 9 0 q w e r t y u i o p a s d f g h j k l ; z x c v b n m , . /
key-alias.extendedhint2key.us-qwerty=1 2 3 4 5 6 7 8 9 0 q w e r t y u i o p a s d f g h j k l ; z x c v b n m , . /
key-alias.hintscreenselectionkey.us-qwerty=j k l ; a s d f g
key-alias.anyarrowbasekey.us-qwerty=i j k l
key-alias.uparrowbasekey.us-qwerty=i
key-alias.downarrowbasekey.us-qwerty=k
key-alias.leftarrowbasekey.us-qwerty=j
key-alias.rightarrowbasekey.us-qwerty=l
key-alias.arrowkeymodifier.us-qwerty=leftalt leftshift leftctrl leftwin

idle-mode.push-mode-to-history-stack=true
normal-mode.push-mode-to-history-stack=true

# Press e while holding leftalt to activate, or press capslock while holding leftalt.
idle-mode.to.normal-mode=+leftalt-0 +enablebasekey

# ┌───────────┐
# │Indicators│
# └───────────┘
## Idle and normal modes indicators:
idle-mode.indicator.enabled=true
idle-mode.indicator.mouse-press-color=#b0b0b0
idle-mode.indicator.unhandled-key-press-color=#b0b0b0
idle-mode.indicator.idle-color=#b0b0b0

## normal mode indicator
normal-mode.indicator.enabled=true
normal-mode.indicator.idle-color=#FF0000
normal-mode.indicator.move-color=#FF0000
normal-mode.indicator.wheel-color=#FFFF00
normal-mode.indicator.mouse-press-color=#00FF00

# ┌─────────────────┐
# │Activate & Exit│
# └─────────────────┘
# The following keys can be used to go back to idle mode:
# exit keys (q or p), click-then-disable key (.), leftalt + e, leftalt + capslock,
# leftctrl + f, leftctrl + l, leftctrl + e, f2, f3,  /.
normal-mode.to.idle-mode=+exit | -clickthendisable | +leftalt-0 +enablebasekey \
  | _{leftctrl} #f | _{leftctrl} #l | _{leftctrl} #e | #f2 | #f3 | #/

# ┌───────────────────────┐
# │Normal Mode Settings|
# └───────────────────────┘
## Normal mode mouse and wheel settings.
normal-mode.mouse.initial-velocity=1600
normal-mode.mouse.max-velocity=2200
normal-mode.mouse.acceleration=1500
normal-mode.wheel.initial-velocity=1500
normal-mode.wheel.max-velocity=2000
normal-mode.wheel.acceleration=500

## Start moving with direction keys.
### When releasing the edge key, if direction keys are already pressed then start moving.
normal-mode.start-move.up=+up | _{up} -edge
normal-mode.start-move.down=+down | _{down} -edge
normal-mode.start-move.left=+left | _{left} -edge
normal-mode.start-move.right=+right | _{right} -edge

## Stop moving by releasing direction keys.
### If the edge/grid/hint/screenselection key is pressed, then stop moving.
normal-mode.stop-move.up=-up | #edge | +grid | +hint | +screenselection
normal-mode.stop-move.down=-down | #edge | +grid | +hint | +screenselection
normal-mode.stop-move.left=-left | #edge | +grid | +hint | +screenselection
normal-mode.stop-move.right=-right | #edge | +grid | +hint | +screenselection

## Register leftctrl to allow ctrl-clicking.
normal-mode.press.left=_{none | leftctrl} +leftbutton | _{none | leftctrl} +clickthendisable
normal-mode.press.middle=+middlebutton
normal-mode.press.right=_{none | leftctrl} +rightbutton
normal-mode.release.left=-leftbutton
normal-mode.release.middle=-middlebutton
normal-mode.release.right=-rightbutton
normal-mode.toggle.left=_{none | leftctrl} +toggleleft
normal-mode.start-wheel.up=+wheelup
normal-mode.start-wheel.down=+wheeldown
normal-mode.start-wheel.left=+wheelleft
normal-mode.start-wheel.right=+wheelright
normal-mode.stop-wheel.up=-wheelup
normal-mode.stop-wheel.down=-wheeldown
normal-mode.stop-wheel.left=-wheelleft
normal-mode.stop-wheel.right=-wheelright

# ┌────────────┐
# │Speed Modes│
# └────────────┘
## Eat the slow key press event (+slow) only when scrolling up or down.
## (If not eaten, scrolling vertically while holding shift is considered a horizontal scroll by certain apps.)
normal-mode.to.slow-mode=#slow | _{wheelup | wheeldown} +slow
slow-mode.to.normal-mode=-slow
slow-mode.to.super-slow-mode=+superslow
slow-mode.to.edge-mode=+edge
slow-mode.indicator=normal-mode.indicator
slow-mode.mouse=normal-mode.mouse
slow-mode.wheel=normal-mode.wheel
slow-mode.mouse.max-velocity=350
slow-mode.wheel.max-velocity=200
slow-mode.start-move=normal-mode.start-move
slow-mode.stop-move=normal-mode.stop-move
slow-mode.press=normal-mode.press
slow-mode.release=normal-mode.release
slow-mode.toggle=normal-mode.toggle
slow-mode.start-wheel=normal-mode.start-wheel
slow-mode.stop-wheel=normal-mode.stop-wheel

normal-mode.to.super-slow-mode=+superslow
super-slow-mode.to.normal-mode=^{slow} -superslow
super-slow-mode.to.super-slow-mode=+slow
super-slow-mode.to.slow-mode=_{slow} -superslow
super-slow-mode.indicator=normal-mode.indicator
super-slow-mode.mouse=normal-mode.mouse
super-slow-mode.wheel=normal-mode.wheel
super-slow-mode.mouse.max-velocity=75
super-slow-mode.wheel.max-velocity=50
super-slow-mode.start-move=normal-mode.start-move
super-slow-mode.stop-move=normal-mode.stop-move
super-slow-mode.press=normal-mode.press
super-slow-mode.release=normal-mode.release
super-slow-mode.toggle=normal-mode.toggle
super-slow-mode.start-wheel=normal-mode.start-wheel
super-slow-mode.stop-wheel=normal-mode.stop-wheel

normal-mode.to.fast-mode=+fast

## Go back to normal mode only if none of the fast keys (u, v, b) are pressed.
fast-mode.to.normal-mode=-fast
fast-mode.to.edge-mode=+edge
fast-mode.indicator=normal-mode.indicator
fast-mode.mouse=normal-mode.mouse
fast-mode.mouse.max-velocity=4500
fast-mode.mouse.acceleration=3000
fast-mode.wheel.max-velocity=10000
fast-mode.wheel.acceleration=10000
fast-mode.start-move=normal-mode.start-move
fast-mode.stop-move=normal-mode.stop-move
fast-mode.press=normal-mode.press
fast-mode.release=normal-mode.release
fast-mode.toggle=normal-mode.toggle
fast-mode.start-wheel=normal-mode.start-wheel
fast-mode.stop-wheel=normal-mode.stop-wheel

# ┌──────────┐
# │Edge Mode│
# └──────────┘
## Snap to screen edges.
normal-mode.to.edge-mode=#edge
edge-mode.to.edge-mode=+slow | +fast
edge-mode.to.normal-mode=^{slow fast} -edge
edge-mode.to.slow-mode=_{slow} -edge
edge-mode.to.fast-mode=_{fast} -edge
edge-mode.indicator=normal-mode.indicator
edge-mode.mouse=normal-mode.mouse
edge-mode.press=normal-mode.press
edge-mode.release=normal-mode.release
edge-mode.toggle=normal-mode.toggle

## Invisible grid used for snapping/attaching to the screen's edges.
edge-mode.grid.area=active-screen
edge-mode.grid.area-width-percent=0.80
edge-mode.grid.area-height-percent=0.95
edge-mode.grid.row-count=1
edge-mode.grid.column-count=1

## Change line-visible to true to see the edge lines.
edge-mode.grid.line-visible=false
edge-mode.snap.up=+up | _{up} +edge
edge-mode.snap.down=+down | _{down} +edge
edge-mode.snap.left=+left | _{left} +edge
edge-mode.snap.right=+right | _{right} +edge

# ┌──────────┐ 
# │Grid Mode│
# └──────────┘
## Grid is enabled with g, disabled with g or esc.
### Press direction keys to shrink the grid in one direction.
normal-mode.to.grid-mode=+grid
grid-mode.to.normal-mode=+grid | +esc
grid-mode.to.idle-mode=+exit
grid-mode.indicator=normal-mode.indicator
grid-mode.grid.area=active-screen
grid-mode.grid.area-width-percent=0.99
grid-mode.grid.area-height-percent=0.99
grid-mode.grid.synchronization=mouse-follows-grid-center
grid-mode.grid.line-visible=true
grid-mode.grid.line-color=#FF0000
grid-mode.shrink-grid.up=+up
grid-mode.shrink-grid.down=+down
grid-mode.shrink-grid.left=+left
grid-mode.shrink-grid.right=+right


# ┌────────────┐
# │Window Mode│
# └────────────┘
## Window mode is enabled by holding the slow key (leftshift) and pressing the grid key (g). It is exited as soon as the slow key (leftshift) is released.
### Move to the active window's edges with direction keys.
### Move to the active window's center with the grid key (g).
slow-mode.to.window-mode=+grid
window-mode.to.normal-mode=-slow
window-mode.indicator=normal-mode.indicator
window-mode.grid.area=active-window

## Top inset to be able to quickly access a window's title bar (and potentially grab it and move the window).
window-mode.grid.area-top-inset=15
window-mode.grid.synchronization=mouse-follows-grid-center
window-mode.grid.row-count=1
window-mode.grid.column-count=1
window-mode.grid.line-visible=true
window-mode.grid.line-color=#FF0000
window-mode.snap.up=+up
window-mode.snap.down=+down
window-mode.snap.left=+left
window-mode.snap.right=+right
window-mode.move-to-grid-center=+grid

# ┌──────────┐
# │Hint Mode│
# └──────────┘
## Hints are enabled with f, disabled with f or esc.
### Holding leftshift while selecting the hint will trigger a second hint pass with a smaller hint grid centered around the mouse to refine the position.
normal-mode.to.hint1-mode=+hint

## Go back to normal-mode when esc, backspace, or the last letter of the hint is pressed.
hint1-mode.to.normal-mode=+esc | +backspace | +extendedhint1key

## Force switch to normal-mode when hint is selected, even if other keys
### like leftctrl or leftalt are pressed.
hint1-mode.timeout.duration-millis=0
hint1-mode.timeout.only-if-idle=false
hint1-mode.timeout.mode=normal-mode
hint1-mode.break-combo-preparation=+extendedhint1key
hint1-mode.hide-cursor.enabled=true
hint1-mode.hint.type=grid
hint1-mode.hint.grid-area=active-screen
hint1-mode.hint.active-screen-grid-area-center=screen-center
hint1-mode.hint.grid-cell-width=74
hint1-mode.hint.grid-cell-height=36
hint1-mode.hint.layout-row-count=6
hint1-mode.hint.layout-column-count=5
hint1-mode.hint.selection-keys=hint1key
hint1-mode.hint.font-name=Segoe UI
hint1-mode.hint.prefix-box-enabled=true
hint1-mode.hint.prefix-in-background=true
hint1-mode.hint.prefix-font-name=Segoe UI Light
hint1-mode.hint.prefix-font-size=120
hint1-mode.hint.prefix-font-color=#FFD93D
hint1-mode.hint.prefix-font-opacity=0.8
hint1-mode.hint.prefix-font-shadow-opacity=0
hint1-mode.hint.selected-font-opacity=0.5

## Hint configuration for a 4K screen:
hint1-mode.hint.grid-cell-width.3840x2160=96
hint1-mode.hint.grid-cell-height.3840x2160=54
hint1-mode.hint.layout-row-count.3840x2160=4
hint1-mode.hint.layout-column-count.3840x2160=10
hint1-mode.hint.selection-keys.3840x2160=extendedhint1key

## Hint configuration for a QHD screen:
hint1-mode.hint.grid-cell-width.2560x1440=64
hint1-mode.hint.grid-cell-height.2560x1440=36
hint1-mode.hint.layout-row-count.2560x1440=4
hint1-mode.hint.layout-column-count.2560x1440=10
hint1-mode.hint.selection-keys.2560x1440=extendedhint1key

## Hint configuration for a UWQHD screen:
hint1-mode.hint.grid-cell-width.3440x1440=86
hint1-mode.hint.grid-cell-height.3440x1440=36
hint1-mode.hint.layout-row-count.3440x1440=4
hint1-mode.hint.layout-column-count.3440x1440=10
hint1-mode.hint.selection-keys.3440x1440=extendedhint1key
hint1-mode.hint.undo=backspace


# ┌─────────────┐
# │Hint Mode 2 │
# └─────────────┘
## Switch to hint2-mode (showing the second hint grid) when the last letter of the hint
### is pressed while holding the slow key (leftshift).
hint1-mode.to.hint2-mode=_{slow} +extendedhint1key
hint2-mode.timeout=hint1-mode.timeout
hint2-mode.hide-cursor=hint1-mode.hide-cursor
hint2-mode.to.idle-mode=+exit
hint2-mode.to.hint1-mode=_{none | slow} +backspace
hint2-mode.to.normal-mode=+esc | _{none | slow} +extendedhint1key
hint2-mode.break-combo-preparation=_{none | slow} +extendedhint1key
hint2-mode.hint=hint1-mode.hint
hint2-mode.hint.type=grid
hint2-mode.hint.grid-area=active-screen
hint2-mode.hint.active-screen-grid-area-center=last-selected-hint
hint2-mode.hint.grid-max-row-count=3
hint2-mode.hint.grid-max-column-count=8
hint2-mode.hint.grid-cell-width=50
hint2-mode.hint.grid-cell-height=75
hint2-mode.hint.selection-keys=hint2key
hint2-mode.hint.prefix-in-background=false
hint2-mode.hint.prefix-box-enabled=false

## Hint configuration for a 4K screen:
hint2-mode.hint.grid-max-row-count.3840x2160=4
hint2-mode.hint.grid-max-column-count.3840x2160=10
hint2-mode.hint.grid-cell-width.3840x2160=48
hint2-mode.hint.grid-cell-height.3840x2160=67.5
hint2-mode.hint.selection-keys.3840x2160=extendedhint2key

## Hint configuration for a QHD screen:
hint2-mode.hint.grid-max-row-count.2560x1440=4
hint2-mode.hint.grid-max-column-count.2560x1440=10
hint2-mode.hint.grid-cell-width.2560x1440=32
hint2-mode.hint.grid-cell-height.2560x1440=45
hint2-mode.hint.selection-keys.2560x1440=extendedhint2key

## Hint configuration for a UWQHD screen:
hint2-mode.hint.grid-max-row-count.3440x1440=4
hint2-mode.hint.grid-max-column-count.3440x1440=10
hint2-mode.hint.grid-cell-width.3440x1440=43
hint2-mode.hint.grid-cell-height.3440x1440=45
hint2-mode.hint.selection-keys.3440x1440=extendedhint2key
hint2-mode.zoom.percent=5.0
hint2-mode.zoom.center=last-selected-hint

# ┌────────────────────────┐
# │Screen Selection Mode|
# └────────────────────────┘
## Screen selection is enabled with c, disabled with c or esc.
normal-mode.to.screen-selection-mode=+screenselection
screen-selection-mode.to.normal-mode=+screenselection | +esc | +backspace | +hintscreenselectionkey
screen-selection-mode.break-combo-preparation=+hintscreenselectionkey
screen-selection-mode.to.idle-mode=+exit
screen-selection-mode.hint.type=grid
screen-selection-mode.hint.grid-area=all-screens
screen-selection-mode.hint.grid-max-row-count=1
screen-selection-mode.hint.grid-max-column-count=1
screen-selection-mode.hint.selection-keys=hintscreenselectionkey
screen-selection-mode.hint.font-size=120

# ┌───────────┐
# |Remappings|
# └───────────┘
normal-mode.remapping.navigateback=+navigateback -> +leftalt +leftarrow -leftarrow -leftalt
normal-mode.remapping.navigateforward=+navigateforward -> +leftalt +rightarrow -rightarrow -leftalt
idle-mode.remapping.leftvirtualdesktop=+tab-0 +leftarrowbasekey-0 -> +leftwin +leftctrl +leftarrow -leftwin -leftctrl -leftarrow
idle-mode.remapping.rightvirtualdesktop=+tab-0 +rightarrowbasekey-0 -> +leftwin +leftctrl +rightarrow -leftwin -leftctrl -rightarrow
normal-mode.remapping.leftvirtualdesktop=+tab-0 +leftarrowbasekey-0 -> +leftwin +leftctrl +leftarrow -leftwin -leftctrl -leftarrow
normal-mode.remapping.rightvirtualdesktop=+tab-0 +rightarrowbasekey-0 -> +leftwin +leftctrl +rightarrow -leftwin -leftctrl -rightarrow

# Arrow keys with leftalt + ijkl.
_toarrowmode-mode.to.arrowbasekey-mode=\
    _{none | arrowkeymodifier} +leftalt-0 +anyarrowbasekey \
  | +leftalt-0 #leftshift-0 +anyarrowbasekey \
  | +leftalt-0 #leftctrl-0 +anyarrowbasekey \
  | +leftalt-0 #leftshift-0 #leftctrl-0 +anyarrowbasekey \
  | +leftalt-0 #leftctrl-0 #leftshift-0 +anyarrowbasekey \
  | +leftalt-0 #leftwin-0 +anyarrowbasekey \
  | _{leftalt} +anyarrowbasekey
idle-mode.to=_toarrowmode-mode.to
normal-mode.to=_toarrowmode-mode.to
slow-mode.to.arrowbasekey-mode=+leftalt-0 +anyarrowbasekey
arrowbasekey-mode.to.previous-mode-from-history-stack=-leftalt
arrowbasekey-mode.remapping.pressuparrow=_{none | arrowkeymodifier} +uparrowbasekey -> +uparrow
arrowbasekey-mode.remapping.releaseuparrow=-uparrowbasekey | _{uparrowbasekey} -leftalt -> -uparrow
arrowbasekey-mode.remapping.pressdownarrow=_{none | arrowkeymodifier} +downarrowbasekey -> +downarrow
arrowbasekey-mode.remapping.releasedownarrow=-downarrowbasekey | _{downarrowbasekey} -leftalt -> -downarrow
arrowbasekey-mode.remapping.pressleftarrow=_{none | arrowkeymodifier} +leftarrowbasekey -> +leftarrow
arrowbasekey-mode.remapping.releaseleftarrow=-leftarrowbasekey | _{leftarrowbasekey} -leftalt -> -leftarrow
arrowbasekey-mode.remapping.pressrightarrow=_{none | arrowkeymodifier} +rightarrowbasekey -> +rightarrow
arrowbasekey-mode.remapping.releaserightarrow=-rightarrowbasekey | _{rightarrowbasekey} -leftalt -> -rightarrow
idle-mode.remapping.releasealt=_{leftalt} +anyarrowbasekey -> -leftalt
normal-mode.remapping.releasealt=_{leftalt} +anyarrowbasekey -> -leftalt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions