Live data from Hacker News

Warpd: A modal keyboard-driven virtual pointer

github.com

111–120 of 125 posts

Re: Warpd: A modal keyboard-driven virtual pointer

#111

Earlier quoted context omitted.

Isn't the use case of apps injecting mouse and cursor events the "security free for all" that Wayland is trying to prevent? Full disclosure, I am a Wayland skeptic. I don't think your focus on X input security is as justified as you probably think.

I think Wayland's security model was more worried about reading inputs than writing them (i.e. preventing keyloggers). Of course https://www.x.org/archive/X11R7.5/doc/security/XACE-Spec.htm... also exists, so...

Writing events is certainly a potential security problem.

I know in the Windows world, one of the UAC features was that a less privileged process can't send events to an elevated window.

In X11, I think last I checked most distros disable the XTEST extension by default out of security concerns. Skimming the warpd code, they are using XTEST for the X backend.

As I think of the keylogger problem, it's not really privilege escalation, is it? If you're running as the same user as all the other clients, you could ptrace(2) them and intercept their event loops. I guess there are some container-based app deployment solutions now where you could run stuff at different security levels, so maybe it's more of a legit issue now...

Re: Warpd: A modal keyboard-driven virtual pointer

#112
post #4

Looks very useful! I especially like the ‘grid mode’ — I would never have thought of that idea myself. It’s just a pity it isn’t available on Windows, though I’ve previously had good experiences with Mousable [ https://github.com/wirekang/mouseable ].

Saw this thread just now, I'm gonna try to implement this in AutoIt, let's see how long it takes me! [2022-10-16-09:58-Z]

What is AutoIt? A fork of AutoHotKey?

Re: Warpd: A modal keyboard-driven virtual pointer

#113
post #112

Earlier quoted context omitted.

Saw this thread just now, I'm gonna try to implement this in AutoIt, let's see how long it takes me! [2022-10-16-09:58-Z]

What is AutoIt? A fork of AutoHotKey?

It's like AutoHotKey but designed to be more programming- rather than scripting-oriented. It is astonishingly easy to create GUIs in AutoIt in comparison, I use it to rapidly prototype UX ideas.

In fact, historically AHK is actually a fork of AutoIt.

Re: Warpd: A modal keyboard-driven virtual pointer

#114
post #4

Looks very useful! I especially like the ‘grid mode’ — I would never have thought of that idea myself. It’s just a pity it isn’t available on Windows, though I’ve previously had good experiences with Mousable [ https://github.com/wirekang/mouseable ].

Long time warpd user here: You should ditch grid mode for the much more efficient hint mode. Also, check out keyd by the same author. The combination of warpd/keyd easily saves me an hour of work every day.

Re: Warpd: A modal keyboard-driven virtual pointer

#115
post #4

Looks very useful! I especially like the ‘grid mode’ — I would never have thought of that idea myself. It’s just a pity it isn’t available on Windows, though I’ve previously had good experiences with Mousable [ https://github.com/wirekang/mouseable ].

Here is the link to keyd: https://github.com/rvaiya/keyd

Re: Warpd: A modal keyboard-driven virtual pointer

#116
post #58
post #9

I've built an app that has the same goals (not operate a mouse) but approach it completely different. Rather than try to simulate the moving the mouse itself, Shortcat [ https://shortcat.app/ ] indexes the user interface (buttons, text fields, links, menus, etc) and enables fast fuzzy search of the interface. Type a word, abbreviations, or hints and hit Enter to click or action the element. Works almost everywhere on…

I love this new wave of tools coming out for mouseless computer use. Chronic mouse use has destroyed my wrist so I have to avoid using it as much as possible. I love Shortcat's approach in general, indexing the UI. However, the reliance on the Accessibility API is actually a significant downside in the real world in my experience since so many apps don't properly implement it. I feel like Warpd is a good complement t…

A bit late to the party, but I’ve just released v1.0 of TPMouse, for Windows: https://github.com/EsportToys/TPMouse

Re: Warpd: A modal keyboard-driven virtual pointer

#117

Earlier quoted context omitted.

This is growth pains. Once the the need is understood well enough, a common extension will be written, and Mutter, KWin and sway/wlroots will implement it. This is better for security than X11 free-for-all.

> a common extension will be written, and Mutter, KWin and sway/wlroots will implement it. Like how they standardized nice simple things like taking a screenshot?

https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.free...

Re: Warpd: A modal keyboard-driven virtual pointer

#118

Earlier quoted context omitted.

This is growth pains. Once the the need is understood well enough, a common extension will be written, and Mutter, KWin and sway/wlroots will implement it. This is better for security than X11 free-for-all.

Isn't the use case of apps injecting mouse and cursor events the "security free for all" that Wayland is trying to prevent? Full disclosure, I am a Wayland skeptic. I don't think your focus on X input security is as justified as you probably think.

If it is implemented it will most likely go through the xdg-desktop-portal, with a policy controlled by compositor.

And most likely it won't be injection of mouse and cursor events, but something higher-level, like focus switching requests.

Re: Warpd: A modal keyboard-driven virtual pointer

#119

Earlier quoted context omitted.

Isn't the use case of apps injecting mouse and cursor events the "security free for all" that Wayland is trying to prevent? Full disclosure, I am a Wayland skeptic. I don't think your focus on X input security is as justified as you probably think.

If it is implemented it will most likely go through the xdg-desktop-portal, with a policy controlled by compositor. And most likely it won't be injection of mouse and cursor events, but something higher-level, like focus switching requests.

Are you aware that the use case here is simulating a mouse? Focus switching is not enough.

Re: Warpd: A modal keyboard-driven virtual pointer

#120

Earlier quoted context omitted.

If it is implemented it will most likely go through the xdg-desktop-portal, with a policy controlled by compositor. And most likely it won't be injection of mouse and cursor events, but something higher-level, like focus switching requests.

Are you aware that the use case here is simulating a mouse? Focus switching is not enough.

Ah, I mixed it up with another tool, sorry.

This one looks like a small feature in a compositor and not an external tool, really.

I guess it would take 100-200 LoC to implement in GNOME Mutter.

Post reply on HN