Hacker News new | past | comments | ask | show | jobs | submit login

> Obviously I still use the mouse for some tasks and certain types of text selection are much easier with a mouse then a keyboard for me.

Like Starcraft, the best thing the mouse is for is box selection. Everything else is done with keys.




And for actually pointing at things.

My brain doesn't "point" at something in Vi motions, not matter how much I try. Maybe some people manage to rewire their brains, I haven't. Despite using Vi/Vim for a long time.


> My brain doesn't "point" at something in Vi motions...

In emacs there's a mode called ace jumping. Essentially, it lets you pinpoint exactly on screen where you want to move the cursor ~3 keypresses.

Similar to how the vimium extension to Chrome let's you jump to any link/button/control with two keypresses.

These aren't motion commands as you'd typically get in vim/emacs; instead it's a different interface to allow directly jumping to an arbitrary position (more of a warp than a movement).

http://emacsrocks.com/e10.html

Anyways, the point I wanted to make is that even some instances where the mouse is considered superior can be negated by a different UX.

So consider the idea that FPS games are more effective with a mouse. I believe this is a UX choice to reward developing mouse skills, not a fundamental limitation of the keyboard. As such, consider the following levels of keyboard FPS controls--

Option 1: Aim by directional arrows. Will be beat out by a mouse user for sure.

Option 2: Aim by movement commands (e.g. B skips and tracks the target on the left, F skips and tracks the target on the right, etc). Might be on par? Definitely has a different learning curve than using a mouse.

Option 3: Aim by label. Every target has a letter hovering over its head, and pressing the key will aim & track at that target. I suspect this would be much more _efficient_ control scheme than using a mouse.

Option 1, is akin to navigating text with arrows, Option 2 is akin to navigating with jump commands, and Option 3 is akin to navigating with an ace-jump type interface.

So although #3 would be considered unfair in a typical FPS context, as a programmer I just want to reduce effort as much as possible.


#3 is basically how Typing of the Dead works, and when you reach high WPM it is indeed faster than using a mouse.


AHH TYPING OF THE DEAD! Best typing game ever (helps that it's just a rework of an actual rail gun shooter). From a gameplay simulation perspective though, mouse is the only method that I feel provides any relatable idea of aiming. Just being able to directly jump between targets would definitely be "more efficient", but so is an aimbot, both sort of defeat the general gameplay design.


> Just being able to directly jump between targets would definitely be "more efficient", but so is an aimbot, both sort of defeat the general gameplay design.

Of course - in the context of an FPS, where the basic expectation is for it to be "skill-based".

But this makes the notion a truly great metaphor, IMHO: The goal behind a text editor is for the user to get stuff done. "Fairness" is not a constraint; everything is allowed.

I'd even go to say that if you've developed some AI that allows me to quickly do what I want without getting in my way, I'm in! I don't think this will be the case any soon (at least in a usable manner), but having it would certainly be great.

In fact, I already pondered if it might be doable to use the new, cheap eye tracking hardware one can buy nowadays (e.g. Tobii devices) to develop something like Ace jumping with...


For vim there are plugins like EasyMotion[1], and for emacs there's Ace Jump Mode[2], which let you precisely get to any character on the screen with a couple of keystrokes. These plugins really revolutionized my vim and emacs usage.

Then there's also the ability of vim and emacs to quickly and precisely select text objects like words, paragraphs, functions, etc (even when they may span more than one screen). There's just no way a mouse can be anywhere near as fast as doing that for larger objects, and using the mouse is much more error-prone.

[1] - https://github.com/easymotion/vim-easymotion

[2] - https://github.com/winterTTr/ace-jump-mode


For Intellij there's also AceJump, but I haven't tried it yet: https://github.com/johnlindquist/AceJump


Speaking from the Emacs side of fence, my brain doesn't "point" in Emacs shortcuts either, but it sure does intuitively translate "I want to be there" / "I want to change that" to a series of keyboard presses, usually much faster than I could ever achieve with moving a mouse and clicking.


Generally I'm inclined to agree. However with textual hints pointing with vi-motions are a breeze.

In addition my joints click when I reach for the mouse putting an actually physical barrier between keyboard and mouse movements for me personally, hence I tend not to move between the two a lot. Laptop touchpads doesn't induce this strain so those are easier.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: