11 ms·
Warpd: A modal keyboard-driven virtual pointer
- nthypes 4y agoFor windows users that would love something like this I recommend https://github.com/GavinPen/AhkCoordGrid https://github.com/GavinPen/AhkCoordGrid
- sposeray 4y ago
- speps 4y agoFor Android users, that's a feature of the Voice Access app.
- bradrn 4y agoLooks 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 https://github.com/wirekang/mouseable].
- herrsimon 4y agoLong 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.
- herrsimon 4y agoHere is the link to keyd: https://github.com/rvaiya/keyd https://github.com/rvaiya/keyd
- eichin 4y agoIt's been in https://kaleidoscope.readthedocs.io/en/stable/plugins/Kaleidoscope-MouseKeys.html https://kaleidoscope.readthedocs.io/en/stable/plugins/Kaleid... for a while (as in, it's a plugin you can include in your custom open source keyboard firmware, with both 2x2 and 3x3 modes.)
- psytrx 4y agoWhen I first tried warp on my new keyboard, I really did not understand what was happening and thought it was bugged. The bindings came by default. I removed them and went on. A few days later I wanted to add custom macros and had to read the docs. Skimming the warp section made me realize it's basically just recursive space positioning. I tried the mode again, and soon realized how incredibly useful this is. It's a bit difficult for me to keep the state in my mind when going down the tree because there's no visual indicators. It's a keyboard firmware after all.
- EsportToys 4y agoSaw 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]
- lolive 4y agoWhat is AutoIt? A fork of AutoHotKey?
- EsportToys 4y agoIt'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.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- EsportToys 4y ago(followup on previous comment) finished in three hours [2022-10-16-13:00-Z]: https://github.com/EsportToys/AutoWarpd https://github.com/EsportToys/AutoWarpd
- prasoon503 4y agohow to activate it? I cant seem to figure out. The script is running but how to activate the grid mode?
- EsportToys 4y agoCtrl+Win+G to activate, then uijk to move quadrants and m,. for left/middle/right clicks
- philonoist 4y agoplease upload full documentation. I am testing this right now.
- EsportToys 4y agoAdded rudimentary README to the repo
- forgotmypw17 4y agoThis is great. I have been using something called keynav[1], for getting a similar grid mode. I would never guess how intuitive it is. It doesn't replace the mouse, but it's helpful for that occasional click in the middle of heavy keyboarding. https://github.com/jordansissel/keynav https://github.com/jordansissel/keynav
- hunogo 4y agoWhat's the point of this?
- psytrx 4y agoSome people prefer a keyboard-focussed workflow and try to avoid using the mouse as much as possible.
- hunogo 4y agoWeird.
- alrlroipsp 4y agoThe only thing weird here is your lack of context and understanding, all while still commenting.
- pomatic 4y agoSome people need tools like this, as an assistive technology - think RSI, Parkinsons and other issues that affect dexterity or elbow movement. Not so weird.
- xcambar 4y agoThank you for the examples of necessity over examples of preference.
- hunogo 4y agoThank you for explaining - as a consequence of illness and disability, I can understand the need. But why someone would intentionally make things more difficult for themselves as a preference, I don't get. It would be like walking around in crutches when you have two perfectly healthy legs.
- MontyCarloHall 4y agoIf implemented well (as [0] is), it can actually be much faster than using the mouse for certain tasks. For example, when browsing Google results, it’s a lot quicker to navigate to a result by pressing the first letter or two of its link text than dragging the mouse to click the link. As a more common example, I only launch applications by opening a prompt (e.g. Spotlight on Mac) and typing the first couple letters of the program I’m starting. This is much faster than navigating using the mouse to the applications folder/menu/dock/taskbar etc. and clicking an icon. I agree keyboard-based navigation is not faster for everything. Luckily, tools like this don’t prevent you from also using a mouse! [0] https://news.ycombinator.com/item?id=33222384 https://news.ycombinator.com/item?id=33222384
- _chendo_ 4y agoI'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/ 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 macOS, including browsers, Electron apps, and even iOS apps! The goal is to minimise cognitive overhead to achieve a particular intent, so being able to type a word to hit a button, or active a deep menu item when you don't know the shortcut is quick and easy. I'm currently working on a modal option which enables staying within Shortcat to navigate an interface, as well as chords for simulating scrolling and arrow keys. Shortcat relies on using the Accessibility API to index UI elements however, and is dependent on how well an app or website has implemented it. One of the goals is to help improve accessibility implementations by exposing more people to its implementations and pushing for developers to fix broken or incorrectly implemented accessibility tagging. Shortcat is macOS only for now as I haven't been able to investigate how viable doing this on Windows or Linux would be, especially on Linux considering all the different toolkits that exist.
- LASR 4y agoThis is excellent. I will be trying this out.
- kache_ 4y agoHave you considered using ML/OCR to figure out the position of the text relative to the screen? Seems much simpler than relying on accessibility APIs Thank you for your hard work!
- _chendo_ 4y agoI have plans to use ML/OCR to augment results down the road but the AX APIs and ecosystem on most apps (that I encounter, at least) are generally decent. Also, OCR means it won’t understand buttons with just icons, whereas AX APIs can grab em just fine. Thanks! It’s easily my longest running project at a decade
- 4y ago
- awestroke 4y agoLooking at the limitations, I hate how fragmented Linux is becoming for apps like this. Completely separate implementations for: - X - Wayland + Gnome Shell - Wayland + wlroots-based compositor - Wayland + sway or any other non-wlroots based compositor Is Wayland really that much better that this is worth it? Why can't Wayland be aware of the compositor like X?
- alrlroipsp 4y agoThere's XWayland for interop. Besides that, people have been moving away from X11 for years now.
- ranguna 4y agoI still question myself as to why
- bogwog 4y agoHave you actually used Wayland? Besides the obvious current issues (compatibility and/or missing features), it is way better. Even something as simple as moving and resizing windows feels noticeably faster and more responsive on Wayland compared to X. I don't use it at the moment because of compatibility issues with some software that I use, but that's not Wayland's fault.
- NhanH 4y ago> Besides the obvious current issues (compatibility and/or missing features) I mean, that's the whole biggest criticism of wayland, 15 years in and it still doesn't work (well?) with the biggest GPU brand. The criticism has always been about whether it is worth it to fragment linux land and throw away a few decades worth of work on X.
- deleted 4y ago[deleted]
- 4y ago
- rhokstar 4y agoHas anyone used this in video games? FPS? MMORPGs?
- hsbauauvhabzb 4y agoI’ve long thought eye tracking would be awesome in this style, this is the next best (and currently only technically viable) solution. Well done!
- Elias-Braun 4y agoThe whole manual says alt+meta+x. Alt is Meta on modern keyboards. You can use ESC to emulate Meta in some applications. But this doesn't work here. It should say A-W-x (alt+super+x) Super is Windows key these days. https://en.wikipedia.org/wiki/Space-cadet_keyboard#/media/File:Space-cadet.jpg https://en.wikipedia.org/wiki/Space-cadet_keyboard#/media/Fi...
- jumperabg 4y agoIs this a vimium for everything?!?!? IT SEEMS LIKE IT IS!
- deleted 4y ago[deleted]
- necrotic_comp 4y agoI use a thinkpad-style keyboard and my mouse is on the homerow. It feels like that is much more efficient than this, as you get the precision of the mouse without having to move your hand. I don't understand why more people don't adopt it. Is it because it's so different from a normal mouse ?
- rowanG077 4y agoFrom what I remember isn't that a tiny thumbstick? That's much, much slower then something like this.
- necrotic_comp 4y agoNo it's not. It's pressure sensitive and about as fast or faster than a trackpad with movement. I've never had a problem with speed, even across multiple, large, monitors.
- rowanG077 4y agoIs this not what you mean: https://www.youtube.com/watch?v=7H8o_-7bKIU https://www.youtube.com/watch?v=7H8o_-7bKIU? I really doubt it's as fast/accurate as a trackpad even if you master it. This tool looks to be as fast as a mouse if you master it in many situations. But you would need a direct comparison by skilled users for each to be sure. I just don't see how a mini stick will ever beat pressing two buttons.
- kfajdsl 4y agoIt's definitely not as accurate as a trackpad or a mouse, but it's not to hard to get very close. The benefit of it is that it's right on home row. You don't need to move your hands to use the mouse. On my thinkpad, I use the trackpoint and trackpad equally.
- qu4z-2 4y agoMy experience is that a mouse is most accurate, followed by a trackpoint, followed by a trackpad, but then again I rarely use trackpads. I inevitably move the mouse when I take my finger off or try to press buttons. Also if I leave it enabled, I inevitably teleport the mouse around the screen with my palms, "palm detection" or no. Sadly every non-IBM/Lenovo trackpoint I've ever used is awful (although significantly improved by putting a Thinkpad cover bit on the joystick, if you're stuck with one). That said, having played through the SC1 campaign with a trackpoint... even the best ones are not as good as a real mouse.
- keyle 4y agoA very similar tool for macOS, inherently more native, called Scoot [1] [1] https://github.com/mjrusso/scoot https://github.com/mjrusso/scoot
- philonoist 4y agoWindows has this in parts as KeyNavish, Fluent Search, Win-vind, Voice Finger, Window's accessibility's Voice Access, Window managers, etc. and still fall short.
- yjftsjthsd-h 4y agoOh, neat; I'm very attached to keynav for this use case, but this is more portable. I'll have to dig into the Wayland limitations and caveats, since I thought that this was literally impossible to implement usefully there. Maybe this is one less blocker for me being able to switch now.
- ohlookabird 4y agoVery useful, thank you!
- 1letterunixname 4y agovim-easymotion for the entire screen. I love it. Useful in numerous ways from accessibility to constrained devices to keyboard-centric navigation. In the 1980's, there was a thread of animosity directed at GUIs and mice as productivity-killers and providing accessibility to novices that robbed power-users of expressivity and automation as features shifted towards UIs over text mode applications. I think we can agree that with necessary and sufficient software engineering and UX, CLI-UI-API parity is achievable offering an easier learning curve, varying levels of user astuteness, mental models, and expressivity to accomplish a task by having different MVC "views" or "presentations" to interact with software or systems of any sort.
- Multicomp 4y agoOn Windows speech recognition or dragon naturally speaking, there is the mouse grid functionality. It divides the screen into a grid of nine tiles, then you type a number to select one of the tiles, then the tile gets divided into nine tiles, which recurses on down until you have a single coordinate selected. I just wish I had an easy way to do that from the numpad. That way, to move the mouse to an arbitrary location I need it to be, I could type 19432 enter and know that corresponded to the coordinates to refresh the page I am reading, that way I could use the mouse less and less as I started to memorize the 80% case of where I need the mouse to go and just bang it out on the keyboard.