
Vim clutch - fuzzix
https://github.com/alevchuk/vim-clutch
======
grayrest
> Has anyone thought of this before?

The 1992 paper "The Prevention of Mode Errors Through Sensory Feedback" [1]
uses this exact mechanism.

[1] [http://research.microsoft.com/en-
us/um/people/asellen/public...](http://research.microsoft.com/en-
us/um/people/asellen/publications/sellen-kurtenbach-buxton-1992.pdf)

I've argued for years that vim is one of the few good examples of modal design
since it allows for quick entry of the command grammar without modifiers and
the command grammar is an excellent fit for the domain. Whenever I bring this
up with an interaction designer, I'm told there is no such thing as a good
mode. The citation chain has always wound up at this paper and while I
generally agree with the paper's conclusion, I'm frustrated that the editor is
used in the most inspid way possible to generate mode errors (at the rate of
3-6 in 10 minutes of editing...). The problem given in the paper is solved by
`:%s/\<[A-Z]\\+\>\zs/errorerror/g` and I could probably do it a half dozen
other ways.

Every time I read the paper I tell myself I should make/acquire a pedal and
try it out but I've always been too lazy.

~~~
goblin89
VIM clutch does not seem to prevent mode errors, though. For that pedals need
to have feedback. I.e., if one hits 'a' out of habit or accidentally, stepping
consequently on the insert pedal would predictably enter 'i' character. That
would be avoided if the pedal changed to pressed state depending on mode.

That said, for me as a pianist the idea of mode pedal looks pretty awesome. It
just needs to be developed a bit further.

~~~
grayrest
Just need to make sure pedal down is idempotent. Having the pedal send
something like Shift+F2 and then `nmap <s-F2> i` `imap <s-F2> <Nop>` takes
care of that. Escape is always idempotent so no issues there.

~~~
aidenn0
If you are appending to the end of the line <esc>i will move you left one
character.

------
christiangenco
Excellent! Foot/extremities-that-aren't-finger controllers are a space that is
ripe for innovation.

Similar ideas came up quite a few times in the recent MaKey MaKey design
competition:

[http://www.makeymakey.com/forums/index.php?topic=211.msg310#...](http://www.makeymakey.com/forums/index.php?topic=211.msg310#msg310)

[http://www.makeymakey.com/forums/index.php?topic=53.msg65#ms...](http://www.makeymakey.com/forums/index.php?topic=53.msg65#msg65)

[http://www.makeymakey.com/forums/index.php?topic=285.msg412#...](http://www.makeymakey.com/forums/index.php?topic=285.msg412#msg412)

[http://www.makeymakey.com/forums/index.php?topic=180.msg250#...](http://www.makeymakey.com/forums/index.php?topic=180.msg250#msg250)

[http://www.makeymakey.com/forums/index.php?topic=292.msg441#...](http://www.makeymakey.com/forums/index.php?topic=292.msg441#msg441)

[http://www.makeymakey.com/forums/index.php?topic=173.msg239#...](http://www.makeymakey.com/forums/index.php?topic=173.msg239#msg239)

[http://www.makeymakey.com/forums/index.php?topic=338.msg568#...](http://www.makeymakey.com/forums/index.php?topic=338.msg568#msg568)

[http://www.makeymakey.com/forums/index.php?topic=346.msg576#...](http://www.makeymakey.com/forums/index.php?topic=346.msg576#msg576)

~~~
CodeCube
Ok, what other extremities-that-aren't-fingers|foot were you referring to? ;-)

~~~
swombat
I'm developing a nose-pedal that you place in front of the macbook, right
underneath the touchpad.

~~~
LeafStorm
For controlling your computer while you slam your head on the desk in
frustration?

------
tomlu
The escape bit would work great, but there are so many other ways to enter
insert mode apart from i that I'm not sure how useful it would wind up being.

~~~
papsosouid
That's what I was thinking as well. I really don't enter insert mode using i
very often at all. Fun project, but I don't think it would actually be
productive to use.

------
mpapi
Glad to see other people experimenting with this kind of setup. I've known a
few people to use one of these [1] for Emacs (for Ctrl & Meta), and I finally
picked one up a while back.

My setup has one pedal bound to Escape for Vim, and the other two switchable
using F keys and some xbindkeys magic. By default, they're "switch WM
workspace" (sort of like Alt-Tab) and "switch window focus within a workspace"
in Awesome WM, but I can change them to e.g. j and k for reading my email, or
have them run various scripts, or whatever.

It's a lot of fun to use, but I haven't been on it much lately having switched
to a standing desk and I haven't yet figured out a way to make the two play
together nicely. And, as always, I've been meaning to throw the scripts &
dotfiles on GitHub, but I'm a slacker.

[1] <http://www.kinesis-ergo.com/fs-savant-elite.htm>

~~~
RockyMcNuts
More evidence emacs is more advanced than vi - we emacs users have been
thinking we need foot pedals for years!

<http://emacswiki.org/emacs/FootSwitches>

<http://shorttalk-emacs.sourceforge.net/ShortStep/index.html>

~~~
hetman
Or the suffering that lead to the innovation was just that much greater ;)

------
duopixel
Jef Raskin championed this style of interface where you only enter modes while
performing an action, he called them _quasimodes_ :

[http://en.wikipedia.org/wiki/Mode_(computer_interface)#Quasi...](http://en.wikipedia.org/wiki/Mode_\(computer_interface\)#Quasimodes)

He never mentioned pedals though, it's a really clever approach.

------
nhebb
Programmable foot pedals have been around for a while now [1]. Some are
surprisingly expensive, though, and this option looks cheaper.

<https://www.google.com/search?q=programming+foot+pedal>

------
compay
Very cool. I'd be a little afraid to get addicted and not be able to edit
effectively away from my pedal though.

~~~
sneak
This is the precise reason I didn't hack up an interface for my midi pedal
yesterday when I had this idea myself.

------
mmahemoff
If OP puts it on Kickstarter (no pun intended), I'll be your first pledge.
Would really want pedal-up event too and customisable for other apps (ie you
can switch the key mapping).

If pedal-up worked, it would be neat to be inserting only while the pedal is
depressed.

------
sbmassey
Pish-posh. What if you wanted to go into insert mode with an 'a' or an 'o'
rather than an 'i'? It needs more pedals.

~~~
michaelmartin
He has plans for this already: <https://github.com/alevchuk/vim-clutch#extras>

~~~
leif
Not enough. "I don't use always use vim, but when I do" I enter insert mode in
all kinds of ways that are mostly never just i. Usually c and a movement. I'd
rather just have one switch that did esc when I hit it.

------
makmanalp
My advisor in college used to joke that lispers would get foot pedals for
their boxes to use as paren keys :)

~~~
juan_juarez
Was it a joke? I seem to remember hearing a similar thing about Lisp Machines
actually having foot pedals for parens.

~~~
makmanalp
I'm actually not sure! I'll have to ask her.

------
sp332
In 1992 research was done that proved that modes can be made less confusing
with feedback. Visual feedback is more easily ignored than audio feedback, but
the best is kinesthetic, or physical feedback. Jef Raskin championed the use
of "quasimodes", which are modes that are consciously maintained by the user.
[https://en.wikipedia.org/wiki/Mode_%28computer_interface%29#...](https://en.wikipedia.org/wiki/Mode_%28computer_interface%29#Quasimodes)

------
kamaal
I don't know how this would work out ergonomically. My dad is a cab driver and
he often complains that pressing the clutch with his foot often giving him RSI
kind of pain.

But however I think this is purely subjective. From an experiment perspective,
this is really cool! And this generally qualifies into what could one call a
'real hack'. This has a air of freshness to it.

Now the real power of vim is in getting into a mode called 'extreme
keyboarding'. I didn't realize this until I read Tom Christiansen's seminal
essay "Zenclavier: Extreme Keyboarding"-
<http://oreilly.com/news/zenclavier_1299.html>

This is to ultimately turn the keyboard into a Musical instrument, and then to
become 'one with the keyboard'. Totally loosing any realization that you are
actually typing. Read the essay carefully and try to understand how he tries
to talk about 'moving in and out of zones'.

I started learning vim a few days back, after I suffered from Emacs Pinky.
When I started question I asked was, 'Why should I memorize so many commands'.
The thing is I quickly realized that being proficient with vim, requires you
to understand some things. You really have to understand the vim paradigm,
without that straightly diving into vim wont be much productive.

You have to learn h,j,k,l are not just navigational keys but also can be
combined with multipliers like 20h(Moves 20 positions to the left). You
basically speak a 'Editor programming language'. You program editor with a
stream of characters. Like for example you my say 'copy this line, move up 20
positions and paste it'. This will be yy(copy current line) 20k(Move up 20
positions) p(paste it there).

So you have to basically learn these things in detail. You can use position
stuff for things as well. Like for example 'd' specifies 'cut from here' and
'y' specifies 'yank/copy from here', but to where? the next character
specifies that for example '$' specifies the end of a line. You can also do
something like 'y2/foo' this means 'yank from here till foo'. You will have to
learn regular expressions, touch typing, and many other text processing stuff.
Basically you learn a terse programming language which is written as a stream
of characters with data on the editor as a input.

Recently a colleague of mine introduced me to a editor command called ':
perldo' you can do perl oneliner on the editor line by line.

The only thing is I couldn't find a book so far in my early days of vim, which
completely teaches the 'zen of vim' completely in the paradigm, in which one
needs to understand it. So vim is really about these things, I don't how far
the pedal/clutch experiments gel with this concept. You may need a totally
different editor paradigm to work with this setup.

In the meanwhile, if someone knows of a book that talks of vim in the way its
supposed to be explained please recommend. All I could find on the net was
cheat sheets, books that teach a commands in bulk.

~~~
sliverstorm
_You have to learn h,j,k,l are not just navigational keys but also can be
combined with multipliers like 20h(Moves 20 positions to the left)._

You know, I've understood this for a while, but to this day I still don't use
it.

I can't count characters that fast! If you're going to lean forward and count
out chars, you might as well count them out with presses of 'h'.

~~~
SiVal
For what it's worth, I remapped vim's navigation keys from the awkward hjkl to
the normal inverted-T arrangement i,j,k,l. Then I remapped the inserts, i & I,
to h & H.

With that, my natural finger movement on the arrowkeys and on the vim home row
match each other.

The reason vim's navigation keys (hjkl) today are arranged the way they are,
left-means-down and right-means-up instead of up-means-up and down-means-down,
is among the dumbest reasons there can be. Decades ago, the keyboard Bill Joy
happened to be using when he wrote vi just happened to have arrows printed on
the keycaps of the hjkl keys. He was trying to think of ways to make
memorizing lots of commands easier, so he decided to take advantage of what
was printed on those keycaps. There were no arrowkeys on that keyboard. That,
in itself, was not a dumb choice, because it would have been a useful mnemonic
on his own keyboard and he'd probably never seen an inverted-T set of
arrowkeys, which didn't become popular until years later.

The dumb part is the insistence on maintaining this onion in the varnish as
sacrosanct decades after that silly keyboard disappeared and in an era where
every new vim user is accustomed to using the inverted-T arrowkeys found on
virtually every keyboard. Anyone who, for some reason, hasn't ever used his
arrowkeys picks it up immediately: up-down-left-right mean up-down-left-right.
Got it.

That's why so many people who want to use vim have to be "broken" of the habit
of using the arrowkeys and forced to learn an additional, weird arrowkey
arrangement, because ("trust us") using the home keys is better.

Well, using the home keys is better, but not because of the awkward
arrangement. That part is worse. It's better because that's where your fingers
rest normally on the keyboard, from where you can operate the full set of vi
commands and enjoy its full power.

You can have both. It wouldn't take much convincing to wean people off the
arrowkeys if both sets of "arrow keys" on their keyboard had the same natural
arrangement they've been used to for years.

I was worried when I abandoned the onion that it would handicap me on plain-
vanilla installations of vi/vim until I realized that, these days, yes, there
are two sets of arrowkeys on every keyboard, and I can use the real arrowkeys
if I have to work on a version of vi/vim without my .vimrc, because they're
arranged just like my ijkl. I can live with using the real arrowkeys for a
while, and if I'm staying longer, I'll "curl -O mydomain.com/myvimrc" and
restart vim with my full customizations and go back to the home row. (I also
have my zsh in vi mode, and my .zshrc remaps keys the same way and can also be
fetched using curl.)

I fully understand that changing this fundamental arrangement is NOT
attractive to experienced vim users, because muscle memory has long since
automatized the arrangement. The old fogey's vociferously defend the old
onions for various, mostly self-serving, reasons.

(They tell me, for example, that this will make it impossible to use a vim on
a different machine on the same page where they brag about their extensive and
brilliant .vimrc customizations that they "couldn't live without." Hmm.)

But I'm starting to teach my kids to use terminals, command lines, and
editors, and I didn't want to pass this onion on to their generation. I
remapped the keys and retaught myself to make it easier for them. Now we can
share the same .vimrc and .zshrc. They'll have one, consistent set of muscle
habits for arrowkey motion from the start, whether playing games, editing
text, or on the zsh command line.

~~~
tsm
People always treat hjkl as the single biggest roadblock to vi(m) adoption,
and I don't get it. Two points:

* First and foremost: If you rely on hjkl, _you are doing it wrong anyway_. You should be using f, w, ), :n (for integer n), ^d, ^f, etc. My biggest hjkl use case is using j to idly scroll through a file (or less/more/man page), in which case it's conveniently under my index finger and I love it. I also use l for off-by-one errors.

* Secondly...especially now that it's ingrained, all of the other keys "make sense" (sort of), and there's no excellent alternative. With your setup, "Why is h insert? Wouldn't i make more sense? Gosh, vim is hard to use." Etc. etc.

~~~
SiVal
These days, almost all potential vim users have been using the sensibly-
arranged arrowkeys for years before they start using vim. Vim puts a second
set of arrowkeys right under their fingers, but it has a different, awkward
arrangement that makes no sense on a modern keyboard and conflicts with vim's
mapping of the real arrowkeys. In vim, the middle finger sits on the DOWN key
and reaches up to go up if you are on the arrowkeys (as everyone assumes), but
if you are on the home row, your middle finger now means UP instead of DOWN
and to get DOWN you go LEFT.

Yet you "don't get" why that might be a problem for people? Really? If it is
what you claim, "the single biggest roadblock," then there is something
important here, whether you get it or not.

You argue that if you rely on these awkward arrowkeys, "you're doing it wrong
anyway." Does that mean they don't really matter? If not, then the using the
most prime of the keyboard real estate for operations that "real programmers"
don't have much use for would be an even worse design than I'm claiming. If
they are important enough to dominate your right hand home row, and I think
they are, then your argument is meaningless and they ought to be rearranged so
that this no longer "the single biggest roadblock."

And this second reason is silly. Training your finger to reflexively move left
instead of up to insert text to the left is going to be a challenge of the
same magnitude as relearning arrowkey movement? You think so? People who have
been using "copy" for years have to learn that copy in vim is called "yank"
and the t,T commands mean, well, "till", and you have all sorts of ctrl-* and
meta-* commands to somehow learn, but having to learn to use h instead of i
would be such a hurdle that it's really a show stopper for fixing the
arrowkeys? That's really your second strongest argument?

These aren't real arguments. Long-time vim users argue that one of the glories
of vim is its marvelous customization, but if you customize the basic movement
keys, it's supposedly a horror because, well, you then won't be able to use a
non-customized vim. So, what's the customization for? It's for secondary
things, not something so fundamental. Then you're told by someone else that,
besides, if you are using the movement keys much, you're not using vim
correctly. Which sounds like a claim that the movement keys just aren't
fundamental. And if they're not, what's the problem with customizing them....
What a bunch of nonsense.

It's all a smokescreen for maintaining backward compatibility with a poor
design that has spread, mostly in the heads of old programmers (the ultimate
"legacy systems"), but also into some software. But for those willing to admit
that backward compatibility is the only real argument, think of how much MORE
legacy there is these days for the real arrowkeys in the minds of non-vim
users and in software of all sorts.

I think vim should change its defaults. It probably would if it were a
commercial product, but that won't happen, because defaults in vi/vim are by
and for long-time users, not potential users. But it is, as claimed,
customizable, and so are most systems (like zsh) that have a significant vi-
mode. Systems that don't have a serious vi mode but just toss in a couple of
shortcut keys, like j&k, can be learned ad hoc, the way we have to learn all
the other shortcut keys that have different meanings in every program.

So, I'm customizing vim & zsh, using the real (physical) arrowkeys
occasionally if connecting to a plain-vanilla vim/bash, and it's working out
just fine.

------
CrazedGeek
Another option would be to break apart a wired Rock Band drum kit so it's just
the center controller and the drum pad the USB cable comes out of, connect
that to a computer and use Joy2Key (or an equivalent) to map the bass pedal to
Esc/i. Not nearly as nice, mind you, but if you're sitting on a half-broken
kit like I am, it is cheaper.

------
drunkenfly
We discussed that yesterday at work, but decided that it will be more useful
in Emacs than in Vim. :)

~~~
SkyMarshal
How would you use it with Emacs?

~~~
drunkenfly
This one is not quite useful as it works like on/off trigger, but the one,
which can be used as a direct replacement of Ctrl-X or Meta-X will be quite
useful. (I am actually Vim user, so I had to ask my Emacs guys on what will be
useful with the pedal)

~~~
SkyMarshal
Same, that's why I asked. I know Emacs has various 'modes', like haskell-mode,
org-mode, SLIME, etc., but I don't how or if a footpedal would make sense for
that. I don't think Emacs users switch between those modes as frequently as
Vim users switch between our main modes.

------
jlongster
This would actually help Emacs more than vim since you need to hold down the
modifier keys while typing commands, where in vim you don't. Several people
have done things like this for Emacs but I've lost the links to any info about
it.

------
dfischer
I don't understand this. I can't see how this is faster than simply hitting
`i`.

~~~
methodin
Because you don't have to hit escape or jj to exit out. You just let your foot
off the pedal. No chance of accidentally being in edit mode or not.

~~~
larsu
I doubt that foot / finger coordination is good enough to get the timing right
without losing some keystrokes.

~~~
christiangenco
I mean, initially, sure. But if any of us spent a day with this I doubt it
would be anything less than second nature. Brains are incredibly elastic.

------
thechut
I expect we will start seeing lots of interaction pedals like people are
mentioning when the MakeyMakey's[1] from Kickstarter start shipping.

1: <http://www.makeymakey.com/>

------
anthonyb
Interesting, but you might get better mileage out of a teensy arduino
(<http://www.pjrc.com/teensy/>) a tin, and some proper foot switches.

~~~
dkersten
My brother made a foot switch using a piece of wood and a sanwa arcade button.
I have a couple of teensy boards here, if I get time I may just make one.

This can be used to easily control the keyboard:
<http://www.pjrc.com/teensy/td_keyboard.html>

------
pottereric
I love this. I've felt for awhile that as an industry we should experiment
with specialized forms of IO for specific tasks. I've protoyped some devices
for rating tracks in iTunes (<http://vimeo.com/24298670>) and using a joystick
to control move through code with a debugger. The keyboard, mouse, and touch
screen are great for general purpose IO, but specific tasks can be preformed
more efficiently with customized IO devices.

------
juokaz
Just did one myself using a X-keys pedal
(<http://www.piengineering.com/xkeys/xkfoot.php>) -
<https://twitter.com/juokaz/status/215915867895119872> Works brilliantly. Main
pedal to go to insert mode, left one to save the file and right one to switch
tabs.

------
JonnieCache
I've been planning to stick an MSP430 inside an old guitar pedal unit for
window switching duties. The pedal I have has four switches, I was thinking
one for the editor, one for the terminal, one for the browser and one perhaps
for firebug or something.

However, maybe these car style pedals would be more ergonomically suited than
the little metal studs of guitar pedals, which are designed to be aggressively
stamped on.

Thoughts?

~~~
hetman
I think car pedals are overkill, their travel is too long because they're used
to input an analogue range and not just an on/off signal.

------
tyler_ball
I did this a few months ago:

    
    
        imap kj <esc>
    

I have never had to type a word with the letter combination 'kj' in it. Works
great.

~~~
dllthomas
That's going to suck when you get lockjaw playing blackjack in Reykjavik. But
other than that, you seem pretty safe.

~~~
tyler_ball
There goes my plan for my Icelandic-themed casino site.

------
suapapa
I made my own vim-cluth which use which use an Arduino as USB-HID. It use only
one usb slot for three fedals.

Picture :
[https://plus.google.com/118040095502884745897/posts/FwN5FEfN...](https://plus.google.com/118040095502884745897/posts/FwN5FEfN66T)

Source : <https://github.com/suapapa/arduino_sketch_balcon123>

------
exDM69
Haha :D I have actually had the same exact idea. I'm a very keyboard oriented
user and I have a wide variety of gaming controllers (including 2 sets of
different kinds of pedals for aviation and racing). So I've been thinking
about doing a foot operated PC controller, but someone beat me to it.

I'm pretty happy by having my caps lock key mapped to escape, though.

------
BostX
I thought about that already and realized a keyboard pedal is not enough. The
whole concept of nowadays Human-Computer interface must be rethought.
<https://mail.google.com/mail/help/promos/tap/index.html>

------
Schlaefer
You can probably use an unmodified pedal if you implement the logic with
ControllerMate (Mac only) [1].

Works here (misusing the F8 key) [2].

\---

[1] <http://www.orderedbytes.com/controllermate/>

[2] <http://imgur.com/AUZsA.png>

------
kapranoff
One thing that jumped into my mind when I was thinking about using pedals at
the computer is a pedal to switch the current shell into «su-mode». So that
commands will be run as root while I'm holding the pedal.

Sadly, I don't think it will be trivial to implement.

------
kgen
I wonder if this would work better as a temporary mode (like how a real clutch
works). For example, you stay in insert mode until you press the pedal, which
escapes you to command mode, and then restoring insert mode after you depress
the pedal?

~~~
graywh
How about this? tap for <C-o>, hold for <Esc>

~~~
kgen
Exactly! I would use that way more than the ,, that I use now to break into
command mode.

------
hq1
I use vim, still we should give the credit where credit is due (or at least
mention it) -
[http://www.cb1.com/~john/computing/emacs/handsfree/pedals.ht...](http://www.cb1.com/~john/computing/emacs/handsfree/pedals.html)

------
magoon
This is brilliant!

I only use i part of the time, however; I, a, A, o, and O are each used
substantially.

~~~
alinajaf
Thought this myself... BUT it could work with three pedals (i, a and o) with
the shift key. Brilliant idea though, I would pay up to $50 for one of these.

~~~
hetman
You may also want to "c" into insert mode ("cib", "ct:", etc...). I seldom
have a problem with this since I usually don't hang around in insert mode
anyway (if I'm using gVim the cursor also lets me know).

The one I do have a massive problem with is capslock. So many times I'll go
back to normal mode and there's a few moments of disorientation before I
realise all my commands are being capitalised. Ugh.

------
aidos
Interesting idea, I wonder about using it for the Ctrl key instead. I switched
to vim some time ago and that's the bit I find most clumsy, especially given
the placement on a Mac. I've remapped caps lock to Ctrl, which helps.

~~~
zephod
Just out of interest, how often are you really using the ctrl key in a Vim
session? My CapsLock is mapped to ESC, which I hit at the end of every edit
(so several times per minute), but I don't think I use ctrl much at all.

OTOH I have heard Emacs users need Ctrl/Alt constantly while editing.

~~~
alaithea
I use Ctrl-P/Ctrl-N for autocomplete all the time.

~~~
njharman
Really should map to tab. Actually should be using super tab or the like.

------
sneak
Wow, I literally had this idea just yesterday.

Another idea: repurposing a midi faderbank that supports automation (servos)
to display data from snmp/statsd/graphite.

I was inspired because my midi keyboard has a pedal switch input...

------
samet
Congrats. I've been thinking for a while to make a clutch for switching hosts
file. (I need to switch from testing to production environments for a while)
But your idea is much better.

------
quarterto
Reminds me of the shoot/cover pedal on Time Crisis arcade machines.

------
kentbrew
Made one of these to enter and exit strafe mode in Quake, way back before
decent mice were commonly available. It worked fine; I put it away when I got
my first Razor Boomslang.

------
ta12121
As an amateur musician, I think he should have gone all the way:

<https://en.wikipedia.org/wiki/Pedal_keyboard>

------
mnazim
Once you used to it the feet will have Vim muscle memory, I wonder how it
would effect one's driving especially with the manual gear shifts cars (pun
intended :) )

------
pooriaazimi
Very nice. But why put something like this on GitHub?!!

~~~
why-el
I myself am thinking of hosting all my school files next semester in Github.
Its free, and fast, and, well, Git.

~~~
jonsterling
I did this for a while, highly recommended.

------
samet
Why isn't there a clutch for computer games (except car driving games)?

A clutch can be used for mod switching; such as running mode, stealth mode or
reloading guns.

~~~
Jach
Turns out if you have a button to do the same thing, once the user enters
immersion the actual control becomes less important. Where alternate hardware
is useful is for more analog controls that a joystick/mouse can't easily
simulate.

------
lparry
This is a pretty neat hack! Not sure that my feet could actually respond as
quickly and accurately as my fingers but it'd be fun to try

------
2muchcoffeeman
I love vim topics. I always read at least one thing I never knew was possible
or would have even thought of doing.

------
DrinkWater
Fucking brilliant! I am going to grab me a broken sewing machine...and vim
will never be the same again !

------
ajtaylor
I hadn't though of using Github as a straight web server before. Will consider
it for future projects.

------
stcredzero
A housemate of mine had a coworker who made footpedals for his Emacs modifier
keys.

------
hollowonepl
This thing is abstract, beyond my definition of geeky, quite hilarious by the
way!

------
swah
I thought Vim was better than Emacs because it didn't require stuff like this
:)

------
xlevus
Time to reprogram my Kinesis' footswitch! ... If I can remember how

------
Mamady
Some ideas are smart. Others are GENIUS.

This is the latter.

------
10098
Shut up and take my money!!

------
robomartin
I'll be the one voicing a contrarian opinion here.

vi and vim are holdbacks from the days of 300 to 9600 BAUD modems. A time when
more sophisticated interfaces were prohibitive. Back in those days it wasn't
too uncommon for people to actually write their own text editors. I wrote a
few, mainly in Forth, as I would bring-up self-designed systems.

While I use VIM today when I have to I continue to think that in today's
context these things are, well, ridiculous. There is no reason that the
terminal can't switch modes on you and allow text editing with the same (or
very similar) UI that traditional simple GUI editors provide.

The damn text box I am using in this browser to enter this comment is far more
user-friendly than VIM. There is no reason for a modern terminal to continue
to support something like VIM.

Put another way, I had editors running on 6502-based 2MHz clock (yes, 2 MEGA
Hertz, not Giga) Forth machines that were far more user friendly than VIM or
VI. We ought to have better tools today. In my opinion, there is no compelling
reason to continue to promote something like VIM. Put a bullet in it already.

As for the hack. Lots of fun. But, geez, how fucked-up is an text editor that
you have to come-up with a foot-switch to make it more usable?

~~~
gte910h
Vim when you're learning feels like this.

Vim when you're using it with 3-5 buffers, some specialized, on screen with
lots of plugins feels just like an ide or something like Sublime Text 2

Vim keybindings in Sublime Text 2 or Visual studio/outlook/word via ViEmu is
pretty good in my experience.

~~~
robomartin
Sublime Text looks interesting. I am going to check it out. Thanks.

~~~
gte910h
I haven't been using it very long, but the vibrant plugin community (make sure
you get BOTH vim plugins) and intelligent shortcuts make it feel like a
winner.

------
cheatercheater
A lot of people here complain of RSI and comment how the pedal helps solve
that. I tried solving this by creating a keyboard layout especially for vim:

<https://bitbucket.org/cheater/us_split>.

It's just like us qwerty, just more ergonomic.

------
sparknlaunch
Top marks for utilising feet for inputting. We have grown lazy with
smartphones almost limiting our interaction to a shake of the wrist.

Could a neck collar or head band be developed to perform similar tasks? Eg you
move your head left or right to navigate web sites.

------
dakimov
Wow, that's some really badass text editing skills — with a pedal. I imagine
one with a piano keyboard with Vim macros attached to each key. That would be
dynamic!

------
dclowd9901
I love how the "excellent" VIM editor would benefit immensely from a hardware
peripheral.

Definitely a neat hacky idea (so by its nature, me gusta), but VIM is a silly,
silly editor for real world purposes.

~~~
dkersten
_VIM is a silly, silly editor for real world purposes_

Why do you think that? Vim is perfectly fine for real world purposes - I use
it for real world purposes all the time, as do a lot of other people.

Not only do the basic vi commands make my life easier (My mantra is if I have
to press the same key more than three times, then I'm doing it wrong - you
quickly learn to navigate by words, brackets, lines, search and judge how many
of these away you want to move - eg instead of wwwww to move forward five
words you can do 5w, to turn "abcde_" into "_abcdeabcdeabcde" you can do 5x3p
- silly examples I know, but this makes it very fast an efficient to navigate
and edit text), but with vims additional features and with a small handful of
plugins there is nothing that a GUI IDE can do that vim can't.

