LogitechMouseGestures

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

LogitechMouseGestures Alternatives

Similar projects and alternatives to LogitechMouseGestures

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better LogitechMouseGestures alternative or higher similarity.

LogitechMouseGestures reviews and mentions

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

Stats

Basic LogitechMouseGestures repo stats
1
5
10.0
over 8 years ago

wookiefriseur/LogitechMouseGestures is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of LogitechMouseGestures is Lua.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com