:::{important} Read first before complaining that these do not work. :::
Right + Draw circle clockwise - Close window
- type: stroke
strokes: [ 'OAMAAUkEBRZZEgwkYCARMmA6GUBSViRPQGMrYyNkNLAOVT3DAzhH0AUdUOkYC1j2OQBkAA==' ]
mouse_buttons: [ right ]
actions:
- plasma_shortcut: kwin,Window CloseMeta + Wheel - Volume control
- type: wheel
direction: up_down
conditions:
- $keyboard_modifiers == meta
actions:
- on: update
interval: '+'
input:
- keyboard: [ volumedown ]
- on: update
interval: '-'
input:
- keyboard: [ volumeup ]Extra7/Extra8 - Volume control (repeats if held)
anchors:
- &repeat_delay 250
- &repeat_interval 50
mouse:
gestures:
- type: press
mouse_buttons: [ extra8 ]
instant: true
actions:
- on: begin
input:
- keyboard: [ volumedown ]
- on: update
threshold: *repeat_delay
interval: *repeat_interval
input:
- keyboard: [ volumedown ]
- type: press
mouse_buttons: [ extra7 ]
instant: true
actions:
- on: begin
input:
- keyboard: [ volumeup ]
- on: update
threshold: *repeat_delay
interval: *repeat_interval
input:
- keyboard: [ volumeup ]Meta + Left/Right - Go back/forward
- type: press
mouse_buttons: [ left ]
instant: true
conditions:
- $keyboard_modifiers == meta
actions:
- on: begin
input:
- mouse: [ back ]
- type: press
mouse_buttons: [ right ]
instant: true
conditions:
- $keyboard_modifiers == meta
actions:
- on: begin
input:
- mouse: [ forward ]
Meta + Left + Swipe up/down - Home/End
- type: swipe
direction: up
mouse_buttons: [ left ]
conditions:
- $keyboard_modifiers == meta
actions:
- on: begin
input:
- keyboard: [ leftctrl+home ]
- type: swipe
direction: down
mouse_buttons: [ left ]
conditions:
- $keyboard_modifiers == meta
actions:
- on: begin
input:
- keyboard: [ leftctrl+end ]Left click top left corner - Open dolphin
- type: press
mouse_buttons: [ left ]
instant: true
conditions:
- $pointer_position_screen_percentage <= 0.01,0.01
actions:
- on: begin
command: dolphinMiddle click top edge - Maximize window
- type: press
mouse_buttons: [ middle ]
instant: true
conditions:
- $pointer_position_screen_percentage_y <= 0.01
actions:
- on: begin
plasma_shortcut: kwin,Window MaximizeRight + Swipe down - Minimize window under cursor
- type: swipe
direction: down
mouse_buttons: [ right ]
actions:
- command: kdotool windowminimize $window_under_pointer_idSwipe 3 - Window drag
- type: swipe
fingers: 3
direction: any
resume_timeout: 500 # Optional: allow lifting fingers for 500 ms, perform any other action (for example tap) to cancel the trigger immediately
accelerated: true # May not work, see the Touchpad page
actions:
- on: begin
input:
- keyboard: [ +leftmeta ]
- mouse: [ +left ]
- on: update
input:
- mouse: [ move_by_delta ] # add a multiplier if necessary: "move_by_delta 1.5"
- on: end_cancel
input:
- keyboard: [ -leftmeta ]
- mouse: [ -left ]Swipe 3 left/right - Go back/forward
- type: swipe
fingers: 3
direction: left
actions:
- on: begin
input:
- mouse: [ back ]
- type: swipe
fingers: 3
direction: right
actions:
- on: begin
input:
- mouse: [ forward ]Rotate 2 - Volume control
- type: rotate
fingers: 2
direction: any
actions:
- on: update
interval: -10
input:
- keyboard: [ volumedown ]
- on: update
interval: 10
input:
- keyboard: [ volumeup ]Swipe 4 left/right - Switch window
Swipe slow - Switch window
Swipe fast - Open alt+tab switcher
- type: swipe
fingers: 4
direction: left_right
speed: fast
actions:
- on: begin
input:
- keyboard: [ +leftalt, tab ]
- on: update
interval: -75
input:
- keyboard: [ leftshift+tab ]
- on: update
interval: 75
input:
- keyboard: [ tab ]
- on: end_cancel
input:
- keyboard: [ -leftalt ]
# Quick window switching (left)
- type: swipe
fingers: 4
direction: left
speed: slow
actions:
- on: begin
input:
- keyboard: [ leftalt+leftshift+tab ]
# Quick window switching (right)
- type: swipe
fingers: 4
direction: right
speed: slow
actions:
- on: begin
input:
- keyboard: [ leftalt+tab ]Swipe 4 down - Exit fullscreen/Unmaximize/Minimize
- type: swipe
fingers: 4
direction: down
actions:
- on: begin
one:
- plasma_shortcut: kwin,Window Fullscreen
conditions:
- $window_fullscreen == true
- plasma_shortcut: kwin,Window Maximize
conditions:
- $window_maximized == true
- plasma_shortcut: kwin,Window MinimizeSwipe 1 - Move the pointer automatically if the finger is at an edge
- type: swipe
fingers: 1
direction: any
block_events: false
conditions: $finger_1_initial_position_percentage between 0.2,0.2;0.8,0.8 # prevent accidental activations
actions:
- on: tick
conditions: $finger_1_position_percentage_x <= 0.05
input:
- mouse: [ move_by -1 0 ]
- on: tick
conditions: $finger_1_position_percentage_x >= 0.95
input:
- mouse: [ move_by 1 0 ]
- on: tick
conditions: $finger_1_position_percentage_y <= 0.05
input:
- mouse: [ move_by 0 -1 ]
- on: tick
conditions: $finger_1_position_percentage_y >= 0.95
input:
- mouse: [ move_by 0 1 ]Swipe 2 in circular motion - Circular scrolling
Place two fingers, with at least one's initial position being the top or bottom edge, then start circling around any point.
- type: circle
fingers: 2
direction: any
conditions:
any:
- $finger_1_initial_position_percentage_y <= 0.05
- $finger_2_initial_position_percentage_y <= 0.05
- $finger_1_initial_position_percentage_y >= 0.95
- $finger_2_initial_position_percentage_y >= 0.95
actions:
- on: update
interval: -0.5
input:
- mouse: [ wheel 0 -1 ]
- on: update
interval: 0.5
input:
- mouse: [ wheel 0 1 ]From this point onwards triggers will only have placeholder actions.
Tip tap
Place one finger in the middle then another one on the left/right. The trigger will not activate if the second finger is removed too quickly.- type: hold
fingers: 2
conditions:
- $finger_1_position_percentage_x between 0.4;0.6
- $finger_2_position_percentage_x < 0.5
actions:
- on: begin
input:
- keyboard: [ a ]
- type: hold
fingers: 2
conditions:
- $finger_1_position_percentage_x between 0.4;0.6
- $finger_2_position_percentage_x > 0.5
actions:
- on: begin
input:
- keyboard: [ b ]Swipe up from bottom edge
- type: swipe
fingers: 3
direction: up
conditions:
- $finger_1_initial_position_percentage_y >= 0.8
actions:
- on: begin
input:
- keyboard: [ a ]Swipe 3 right then up (no lifting fingers)
- type: swipe
fingers: 3
direction: right
id: swipe_3_right
- type: swipe
fingers: 3
direction: up
conditions:
- $last_trigger_id == swipe_3_right
actions:
- on: begin
input:
- keyboard: [ a ]