Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Mouse Keys in Shortcuts/Menu Activation #433

Open
Irbynx opened this issue May 31, 2024 · 7 comments
Open

Allow Mouse Keys in Shortcuts/Menu Activation #433

Irbynx opened this issue May 31, 2024 · 7 comments
Labels
feature request New feature or request

Comments

@Irbynx
Copy link

Irbynx commented May 31, 2024

Mouse keys can't be currently used as a way to open a pie menu (this functionality can be done via using external tools to map a mouse key to a keyboard combination; naturally this is a little clunky but not impossible). Having this built in, perhaps as a separate setting, will be quite helpful in making mouse-oriented usage of the pie menus easier. This might especially be helpful for the tablet users, since stylus buttons count as mouse buttons and allowing mouse keys to trigger pie menus will especially be helpful in the context of a graphics tablet which generally doesn't use keyboard, or at least not in a convenient way.

@Schneegans Schneegans added the feature request New feature or request label May 31, 2024
@Schneegans
Copy link
Contributor

Schneegans commented May 31, 2024

TLDR; We have several third-party tools for achieving this listed here.

Hi there! Thanks for the suggestion. This would indeed be nice. However, this will be very hard to implement in a cross-platform manner. Something like this is not available in Electron or NodeJS.

I think that without admin / root privileges or some additional daemon processes this will not be possible on Linux/Wayland. And on Windows and macOS it will at least require native modules with further dependencies. There is for instance iohook which we could look into.

At some point, I'll do this, but for now there are other, more important things to do 😄

@rairay91
Copy link

rairay91 commented Jun 4, 2024

I too want that option

@EternalSadnes
Copy link

Plus one for that feature!

@vfxturjo
Copy link

people who use mouse with extra buttons will be hugely benefitted... I want to bind menus on mouse 4 and mouse 5 button...
image

@Schneegans
Copy link
Contributor

Schneegans commented Jul 18, 2024

We now have a list of third-party tools in the documentation which you may use to open Kando using mouse buttons or in various other ways.

If you find another cool tool, we can add it to the list as well!

@wisinfun
Copy link

We now have a list of third-party tools in the documentation which you may use to open Kando using mouse buttons or in various other ways.

If you find another cool tool, we can add it to the list as well!

Suggest supporting mouse triggers

For example, holding down the middle mouse button or the right mouse button to trigger the Pie menu. After the mouse moves to the target menu and the button is released, the menu command is triggered. The interactive experience will be very good, with a single mouse action completing the target.

@SlayVict
Copy link

SlayVict commented Dec 2, 2024

On windows I use AutoHotKey v2 with this scrip on front mouse button. The button work as usual on click, but on hold or movement it quickly opens kondo menu. It works by pressing hotkey with f18, so normally people will not be able to press it by accident. Hope it will help some users

XButton2::
{
    MouseGetPos &startX, &startY
    triggered := false

    while GetKeyState("XButton2", "P") {
        MouseGetPos &currentX, &currentY
        distance := Sqrt((currentX - startX) ** 2 + (currentY - startY) ** 2)

        if (distance > 20 || A_TimeSinceThisHotkey > 300) {  ; 20px move or 300ms
            triggered := true
            Send "{Ctrl Down}{Alt Down}{Shift Down}{F18}"
            KeyWait "XButton2"  ; Wait for release
            Send "{Shift Up}{Alt Up}{Ctrl Up}"
            break
        }
        Sleep 10  ; Reduce CPU usage
    }

    if (!triggered)
        Send "{XButton2}"
    return
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants