LogitechMouseGestures VS g-hub-mouse-gestures

Compare LogitechMouseGestures vs g-hub-mouse-gestures and see what are their differences.

LogitechMouseGestures

Lua script for basic mouse gestures for Windows 7 and above (by wookiefriseur)

g-hub-mouse-gestures

Lua script to use mouse gestures in macOS using g-hub (by mark-vandenberg)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
LogitechMouseGestures g-hub-mouse-gestures
1 2
5 54
- -
10.0 10.0
over 8 years ago about 4 years ago
Lua Lua
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

LogitechMouseGestures

Posts with mentions or reviews of LogitechMouseGestures. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-02.
  • Gesture button for Logitech 'gaming' mouse that doesn't support the Logitech Options app
    2 projects | /r/lua | 2 Jun 2023
    --[[ Author: Mark van den Berg Version: 0.8 Date: 01-05-2020 Special credits to https://github.com/wookiefriseur for showing a way to do this for windows gestures which inspired this script For some windows gestures check https://github.com/wookiefriseur/LogitechMouseGestures This also combined with some codes from Author: Mat Version: 1.11 Date: 2015-12-17 This script wil let you use a button on your mouse to act like the "Gesture button" from Logitech Options. It will also let you use another button on your mouse for navigating between browser pages/ assigned any software shortcut using gestures. This custom gestures created for software Adobe After Effects. The default settings below will be for the G4 - No Move Page Down (Page Down) - Up Position (P) - Down NumEnter (Control+Down-Arrow) - Left Backward Blending Mode (Control+Right-Arrow) - Right Forward Blending Mode (Control+Left-Arrow) The default settings below will be for the G5 - No Move Page Up (Page Up) - Up Text Tool (Ctrl + T) - Down Easy Ease (f9) - Left Show Keyframes (U) - Right Fit Comp (Shift + /) The default settings below will be for the G6 - No Move Move Layer In ([) - Up Show Graph Editor (Shift + f3) - Down Delete - Left Home - Right Move Layer Out (]) ]]-- -- The button your gestures are mapped to G1 = 1, G2 = 2 etc.. gestureButtonG4 = 4; -- The button your gestures are mapped to G1 = 1, G2 = 2 etc.. gestureButtonG5 = 5; -- The button your gestures are mapped to G1 = 1, G2 = 2 etc.. gestureButtonG6 = 6; -- The minimal horizontal/vertical distance your mouse needs to be moved for the gesture to recognize in pixels minimalHorizontalMovement = 2000; minimalVerticalMovement = 2000; -- Default values for horizontalStartingPosistion = 0; verticalStartingPosistion = 0; horizontalEndingPosistion = 0; verticalEndingPosistion = 0; -- Delay between keypresses in millies delay = 20 -- Here you can enable/disable features of the script ToggleNoMove = true ToggleMovedUp = true ToggleMovedDown = true ToggleMovedLeft = true ToggleMovedRight = true -- Toggles debugging messages debuggingEnabeld = false -- Event detection function OnEvent(event, arg, family) if event == "MOUSE_BUTTON_PRESSED" and (arg == gestureButtonG4 or arg == gestureButtonG5 or arg == gestureButtonG6) then if debuggingEnabeld then OutputLogMessage("\nEvent: " .. event .. " for button: " .. arg .. "\n") end -- Get stating mouse posistion horizontalStartingPosistion, verticalStartingPosistion = GetMousePosition() if debuggingEnabeld then OutputLogMessage("Horizontal starting posistion: " .. horizontalStartingPosistion .. "\n") OutputLogMessage("Vertical starting posistion: " .. verticalStartingPosistion .. "\n") end end if event == "MOUSE_BUTTON_RELEASED" and (arg == gestureButtonG4 or arg == gestureButtonG5 or arg == gestureButtonG6) then if debuggingEnabeld then OutputLogMessage("\nEvent: " .. event .. " for button: " .. arg .. "\n") end -- Get ending mouse posistion horizontalEndingPosistion, verticalEndingPosistion = GetMousePosition() if debuggingEnabeld then OutputLogMessage("Horizontal ending posistion: " .. horizontalEndingPosistion .. "\n") OutputLogMessage("Vertical ending posistion: " .. verticalEndingPosistion .. "\n") end -- Calculate differences between start and end posistions horizontalDifference = horizontalStartingPosistion - horizontalEndingPosistion verticalDifference = verticalStartingPosistion - verticalEndingPosistion -- Determine the direction of the mouse and if the mouse moved far enough if math.abs(verticalDifference) < minimalVerticalMovement and math.abs(horizontalDifference) < minimalHorizontalMovement then mouseNoMove (arg) end if horizontalDifference > minimalHorizontalMovement then mouseMovedLeft(arg) end if horizontalDifference < -minimalHorizontalMovement then mouseMovedRight(arg) end if verticalDifference > minimalVerticalMovement then mouseMovedUp(arg) end if verticalDifference < -minimalVerticalMovement then mouseMovedDown(arg) end end end -- Mouse Moved function mouseNoMove(buttonNumber) if debuggingEnabeld then OutputLogMessage("mouseMovedUp\n") end if buttonNumber == gestureButtonG4 and ToggleNoMove then performPageDown() end if buttonNumber == gestureButtonG5 and ToggleNoMove then performPageUp() end if buttonNumber == gestureButtonG6 and ToggleNoMove then performMoveIn() end end function mouseMovedUp(buttonNumber) if debuggingEnabeld then OutputLogMessage("mouseMovedUp\n") end if buttonNumber == gestureButtonG4 and ToggleMovedUp then performPosition() end if buttonNumber == gestureButtonG5 and ToggleMovedUp then performTexTool() end if buttonNumber == gestureButtonG6 and ToggleMovedUp then performShowGraphEdit() end end function mouseMovedDown(buttonNumber) if debuggingEnabeld then OutputLogMessage("mouseMovedDown\n") end if buttonNumber == gestureButtonG4 and ToggleMovedDown then performNumEnter() end if buttonNumber == gestureButtonG5 and ToggleMovedDown then performEasyEase() end if buttonNumber == gestureButtonG6 and ToggleMovedDown then performDelete() end end function mouseMovedLeft(buttonNumber) if debuggingEnabeld then OutputLogMessage("mouseMovedLeft\n") end if buttonNumber == gestureButtonG4 and ToggleMovedLeft then performBackwardBlend() end if buttonNumber == gestureButtonG5 and ToggleMovedLeft then performShowKey() end if buttonNumber == gestureButtonG6 and ToggleMovedLeft then performHome() end end function mouseMovedRight(buttonNumber) if debuggingEnabeld then OutputLogMessage("mouseMovedRight\n") end if buttonNumber == gestureButtonG4 and ToggleMovedRight then performForwardBlend() end if buttonNumber == gestureButtonG5 and ToggleMovedRight then performFitComp() end if buttonNumber == gestureButtonG6 and ToggleMovedRight then performMoveOut() end end -- Gesture Functions G4 function performPageDown() if debuggingEnabeld then OutputLogMessage("performPageDown\n") end firstKey = "pagedown" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performPosition() if debuggingEnabeld then OutputLogMessage("performPosition\n") end firstKey = "p" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performNumEnter() if debuggingEnabeld then OutputLogMessage("performNumEnter\n") end firstKey = "numenter" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performBackwardBlend() if debuggingEnabeld then OutputLogMessage("performHome\n") end firstKey = "lshift" secondKey = "minus" pressTwoKeys(firstKey, secondKey); Sleep(20); ReleaseKey(firstKey) end function performForwardBlend() if debuggingEnabeld then OutputLogMessage("performFitComp\n") end firstKey = "lshift" secondKey = "equal" pressTwoKeys(firstKey, secondKey); Sleep(20); ReleaseKey(firstKey) end ----------------------------------------------------------------------------------------------------------------------------------------------------------- -- Gesture Functions G5 function performPageUp() if debuggingEnabeld then OutputLogMessage("performPosition\n") end firstKey = "pageup" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performTexTool() if debuggingEnabeld then OutputLogMessage("performTexTool\n") end firstKey = "lctrl" secondKey = "t" pressTwoKeys(firstKey, secondKey); Sleep(20); ReleaseKey(firstKey) end function performEasyEase() if debuggingEnabeld then OutputLogMessage("performEasyEase\n") end firstKey = "f9" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performHome() if debuggingEnabeld then OutputLogMessage("performHome\n") end firstKey = "home" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performFitComp() if debuggingEnabeld then OutputLogMessage("performFitComp\n") end firstKey = "lshift" secondKey = "slash" pressTwoKeys(firstKey, secondKey); Sleep(20); ReleaseKey(firstKey) end ----------------------------------------------------------------------------------------------------------------------------------------------------------- -- Gesture Functions G6 function performMoveIn() if debuggingEnabeld then OutputLogMessage("performMoveIn\n") end firstKey = "lbracket" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performShowGraphEdit() if debuggingEnabeld then OutputLogMessage("performShowGraphEdit\n") end firstKey = "lshift" secondKey = "f3" pressTwoKeys(firstKey, secondKey); Sleep(20); ReleaseKey(firstKey) end function performDelete() if debuggingEnabeld then OutputLogMessage("performDelete\n") end firstKey = "delete" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performShowKey() if debuggingEnabeld then OutputLogMessage("performShowKey\n") end firstKey = "u" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end function performMoveOut() if debuggingEnabeld then OutputLogMessage("performShowKey\n") end firstKey = "rbracket" PressKey(firstKey); Sleep(20); ReleaseKey(firstKey) end ----------------------------------------------------------------------------------------------------------------------------------------------------------- --] Helper Functions function pressTwoKeys(firstKey, secondKey) PressKey(firstKey) Sleep(delay) PressKey(secondKey) Sleep(delay) ReleaseKey(firstKey) ReleaseKey(secondKey) end

g-hub-mouse-gestures

Posts with mentions or reviews of g-hub-mouse-gestures. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-02.
  • Gesture button for Logitech 'gaming' mouse that doesn't support the Logitech Options app
    2 projects | /r/lua | 2 Jun 2023
  • Impressions from a first-time Mac user
    7 projects | news.ycombinator.com | 11 Apr 2022
    I couldn't imagine navigating macOS without gestures. Great on touchpad, non-existent on any comfortable third-party mouse (the magic mouse is made for toddlers apparently.. I don't even have particularly large hands).

    Thankfully someone made an LUA script for the Logitech G app to use one of the random buttons on my gaming mouse to imitate three-finger swipes, which feels great: https://github.com/mark-vandenberg/g-hub-mouse-gestures/blob...

    I also am not a huge fan of Finder. Might be able to tweak so that the list view is default but crazy to me that you'd have folders and files just floating around in space.

    All that being said I went from lifelong Windows user to being fully onboard with Mac once I started developing professionally. PC gaming is the only reason I have a Windows machine at all. Windows is just gnarly, from the kernel to the UI.

What are some alternatives?

When comparing LogitechMouseGestures and g-hub-mouse-gestures you can also consider the following projects:

yabai - A tiling window manager for macOS based on binary space partitioning

iTerm2 - iTerm2 is a terminal emulator for Mac OS X that does amazing things.

displayplacer - macOS command line utility to configure multi-display resolutions and arrangements. Essentially XRandR for macOS.

stats - macOS system monitor in your menu bar

Amethyst - Automatic tiling window manager for macOS à la xmonad.

hammerspoon - Staggeringly powerful macOS desktop automation with Lua