Skip to content

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hyprmouse

Hyprmouse

Control the mouse with your keyboard using Vim Motions

A highly customizeable Hyprland overlay that enables you to never move your hands away from the keyboard.

Requirements

Binds

Custom keybinds will be supported shortly

  • DEL - Force quit the app
  • ESC - Return to the initial position and close the overlay
  • Return - Confirm the new position and close the overlay
  • 0-9 - Enter a digit
  • B/b/Backspace - Delete a digit
  • +/= - Switch to positive direction
  • -/= - Switch to negative direction
  • I/i - Invert direction
  • X/x - Jump on the X axis in the set direction
  • Y/y - Jump on the Y axis in the set direction
  • R/r - Move to the center of the screen
  • D/d - Reset delta
  • U/u - Undo the last position change
  • H/h/ - Move left
  • J/j/ - Move down
  • K/k/ - Move up
  • l/l/ - Move right

Config

Config file should be located in ~/.config/hypr/hyprmouse.conf
Some of the things to keep in mind:

  • All of the following values are valid for bools: True/true, False/false
  • All the colors must be provided as HEX values, # is not required
  • Keep the fps relatively low, it can have a huge impact on the performance
  • Spaces don't matter, key=value is just as fine as key = value
  • Font will be retrieved from your gtk settings but you can overwrite it and adjust the size

Example provided below contains all the options

  • show_ui = True - bool - Will the UI be shown
  • show_background = True - bool - Will the background be shown
  • show_grid = True - bool - Will the grid be shown
  • show_dots = True - bool - Will the dots be shown
  • show_numbers = True - bool - Will the numbers be shown
  • follow_mouse = False - bool - Will the UI be relative to the cursor
  • default_delta = 10 - int - Default movement delta
  • reset_on_jump = False - bool - Whether to reset dir and delta when jumping
  • set_dir_on_move = True - bool - Whether to set dir when moving
  • toggle_dir = True - bool - Pressing the same sign twice will toggle the direction
  • reset_delta_to_default = True - bool - Whether to reset delta to the default_delta or 0
  • clear_delta_on_initial_input = True - bool - Whether to clear delta on initial number input
  • clear_delta_on_input_after_move = True - bool - Whether to clear delta on number input after moving
  • reset_pos_on_start = False - bool - Will the cursor be moved to the middle on start
  • format = x, y - string - How will the coordinates be formatted
  • font = Cascadia Code - string - Font that the UI will use
  • font_size = 30 - int - Font size
  • background_color = #000000 - string - Color of the background
  • grid_color = #5E81AC - string - Color of the grid
  • dot_color = #EBCB8B - string - Color of dots
  • text_color = #ECEFF4 - string - Color of the text
  • text_outline_color = #2E3440 - string - Color of the text outline
  • fps = 60 - int - Framerate at which the app will be redrawn
  • background_opacity = 0.5 - float - Opacity of the background
  • spacing = 400 - int - Spacing between grid lines
  • grid_thickness = 1 - float - Thickness of grid lines
  • dot_radius = 3 - float - Radius of dots
  • text_outline_thickness = 1 - float - Thickness of the text outline(I would advise against going above 2)
  • text_y_offset = 0 - float - Y offset applied to text

Thanks

For making Hyprland and majority of tools this app is based on - "the fuck is an overlay"

For suggesting an approach for making an overlay and pointing me in the right direction

- PoutineBurgerMan

For letting me know that hyprctl cursorpos exists

About

Hypr mouse control for Hyprland

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages