I love seeing this. I worked in the university computing department in college and this sort of thing wasn't an uncommon sight under the desks. People also had all manner of exotic keyboards.
The most elite setup, as I recall, was the Kinesis Advantage combined with pedals. The keys on the Kinesis are recessed in these sort of cups that your fingers rest above. The idea is that this reduces the distance that your fingers travel moving between rows. I could never get the hang of typing on one of them, but people swore by them. Adding the pedals for shift/ctrl/esc was supposed to further reduce the need to stretch your fingers and get them into awkward positions. People also swore it made them faster and of course it looked and sounded super cool.
I'm a longtime Kinesis user and I had the pedals about 15 years back but I never made much use of them.
I don't know if the Kinesis reduces the finger movement between rows, but your hands definitely sit in a much more relaxed way. The thumb has quite a bit more responsibility too and you don't do any stretch moves like using the pinky for the twiddle or a lot of control pressing. Love the keyboards.
As for the pedals, they are programmable and the general thinking was control/option/alt type configurations for them. I just never got in to heal-toe typing, the pedals got dusty and I never really used them much. Had I actually had CT or something, I think I might have been more motivated to make use of them.
Once you mastered the Kinesis Advantage you don't want to go back. Your hands move way less on the Kinesis than on a normal keyboard. Maybe this is also the reason why I always found the use of ESC in vim an odd choice, i.e. you have to move your hand to reach the ESC key. Moreover, the Kinesis has the arrow keys below the "c" "v" "m" "," keys so you can navigate without moving your hands, this is similar to vim but without the annoying mode switches.
My dream keyboard would be a Kinesis advantage with some significant modifications to make it good for taking it on the go, since I travel a bunch and work from public places. In order of importance:
1. more compact. No extra surface, instead just have separate wells connected either by a wire like the Kinesis Freestyle, or fully wirelessly ideally. Kinda like the ErgoDox keyboard.
2. lightweight. Don’t want to be carrying a brick in my backpack. I’m totally fine with using low travel keys like how a MacBook or any decent chiclet keyboards feels, I mostly just want the layout.
3. wireless. Bluetooth with ability to switch multiple inputs like the Logitech K811 would be incredible.
If anyone knows how someone would start to hack something like this together, please tell me! I have never done hardware but I would love to mess around with something like this as a project.
I used a Kinesis when I worked at Microsoft, which I credit for heading off impending RSI. It took about a week to get back up to speed, and then it was great. I had a pedal connected to the shift key because of all the LONG_CAPITALIZED_C_CONSTANTS in Microsoft code.
Yes, that's interesting recollection, now that I think of it the late 90s seems like a period of considerable experimentation with user input, e.g. the Microsoft Natural keyboards were somewhat popular, various trackball mice even for desktops, 2/3 button mice with various buttons on the side, trackwheels (lots more combinations that these days), wacom tablets, etc. I guess this stuff is still available, but much more niche now.
I wonder what happened? Maybe since computers are cheaper, more ubiquitous and people might use several (home, work, laptop), it's much less practical to use an exotic setup these days?
I started feeling a slight discomfort in my wrists a few months in to my first job. My manager suggested that I expense a new keyboard, recommending the kinesis advantage.
It took me a good 2 weeks to become proficient on it, but that was four and a half years ago and I haven't felt any RSI symptoms at all. I think I'm now faster on it than my old keyboards, mostly due to the thumb clusters. I recommend it to everyone who asks about it.
I use a setup that's similar in spirit. My custom keyboard has palm keys (kind of like the https://shop.keyboard.io/), which I have mapped to control and shift (on a mac). I have a Sublime Text keymap file that has a bunch of vim-like bindings under control, so basically it is like vim but the state of my palms is the editing state, holding one down is movement, both is selection. It's really nice.
The keyboardio is the only keyboard I know of that has the palm keys, but I've been interested in buying or making a keyboard that has them. Any writup on your build?
I converted a set of pedals for a dictation machine to work with my Kinesis keyboard.
It wasn't as useful as I expected. Having to keep my foot in the same place all the time became quite uncomfortable, and I found that synchronising my foot with my fingers (these pedals were configured as modifiers rather than escape - I mostly use Emacs) was quite difficult.
The pedal idea is funny, but there are too many useful ways to enter insert mode (i, I, a, A, o, O, c, C, cc, cw, c2w, cit, ci), vi}c, vf.c, v0c, etc.). It seems like having a pedal for `i` would encourage a way of using vim that avoids the most efficient keybindings. I rarely press the `i` key to enter insert mode.
I had the exact same thought about the "clutch" aspect of this, but am wondering if simply having a foot pedal that issued ESC when tapped could still be of value. On most keyboards the ESC key is the longest reach with my shortest finger so it winds up requiring a wrist motion.
Even though I would probably never go though the effort of it, I am impressed and love the idea of it. One philosophy that I hear a lot of VIM users prescribing to is don't make too many custom changes to the bash file that you can't use someone else's computer. I wonder if you got used to this setup if you would find yourself pounding the floor on someone else's computer. I drove stick for years and still occasionally find myself with phantom clutch syndrome.
No serious user of Vim would ever suggest that you not customize it. It's worth knowing the basics of a stock Vim configuration for simple use cases on a new system or in an environment where you can't or don't want user config, but if you're writing software all day in a stock Vim configuration, you're a masochist or a fool.
I suffer from this "phantom clutch syndrom" myself. Slowing smoothly to a stop and SLAM full on panic stop because I pressed the brake to the floor with my left foot.
You can put your custom .vimrc online somewhere (like Github) and download it to new computers with wget. For quick edits on someone else's computer, using plain Vim isn't much trouble though.
That is is what drives me away from novel input methods and over-configured setups in general. On one hand it feels silly, but it feels a lot worse to be bewildered by a default setup.
"During the day it calls itself a Vim Clutch, but at night its name is pornhubbrowserautohidepanic-button"
Nonetheless, it is a nice device, though I don't see myself relearning a muscle memory to use a pedal, which I will basically only have at home and/or work, but not when working somewhere remote on a notebook.
But if I had one, or had to use one, I'd probably bind ESC to it or alt+tab to cycle through 2 or 3 apps, editor/terminal/browser
I once worked on a piece of lab equipment where I needed to fit a plate into a robotic dispenser and then click the button to "start program." I didn't want to keep switching my hands from the dispenser to the mouse so I wired up a piano pedal to the left mouse button and it improved the ergonomics significantly.
I've programmed AutoHotKey on my work PC to map pressing both shift keys at the same to double click the left mouse button at the pointer's current location.
I did something like this on work. In our intern ordering process we have to copy/paste over 10 data fields. So I made a box with an Arduino Micro and some buttons on it to copy/paste all fields in once.
It's not just speed. This also improves the usability of vim by turning insert mode into a pseudo-mode, which is a mode that requires constant interaction (depressing the pedal) to be maintained.
Pseudo-modes are generally much less error prone than normal modes, the canonical example being the shift vs. caps lock keys.
Do you have any literature on this being called a pseudo-mode and the tradeoffs between it and "real" modes? I am currently pretty interested in these kinds of topics.
It's an interesting and easy project to start soldering/arduino-fiddling. Parts can be purchased with approx. $25.
In comparison to the pedal used in the vim clutch, the sewing machine pedal has the advantage of not only having an on/off state, but returning the pedal-pressure (so half-ressed and all sorts of combos are possible).
Currently, I use it for sublime-text shortcuts (cmp+p on half-press and cmd+shift+p on deep-press) or for debugging (ctrl+d to continue code execution).
The reason I learned how to use vi was it's ubiquity. If I develop muscle memory which requires carrying around a USB pedal I'm not going to have a good time on any but my own workstation. Not sure it's worth it.
When I was first learning emacs and trying to figure out a sane way to type double bucky[1][2] commands, I happened to read about a project like this for using pedals as modifier keys.
However, instead of using the obvious hardware approach for the time - probably using a couple momentary switch pedals and reading them from the parallel port - I had a much better^Wmore fun idea: use a MIDI organ pedal board[3]. I already had a MIDI interface (Midiman MM-401), and I had already dreamed of getting such pedals for regular keyboard use. Having 1-2 octaves available was plenty of room for all kinds of extra macros and/or hotkeys.
I was half way through writing a simple daemon that would listen for MIDI and send the appropriate synthetic X11 KeyPress/KeyRelease events when I finally looked into where I could buy a pedal board, and realized they were $600+ (in mid-90s dollars). ~sigh~
My friend and I converted an old organ pedal board to digital using some magnets, reed switches, and an arduino. Mounting the reed switches on foam board was a fast easy hack. It did require a real organ seat though because of the length of the pedals.
Great idea! I've messed around with things like this in the past, though I've used my pedals for music editing and DJ software. I opened sourced my last attempt, which includes a neat little python GUI to reprogram the keys (https://www.manykey.org/).
Haven't tried foot keys with an editor, but it seems like once you integrated them into your workflow they would be quite useful.
I tried something similar to this, but I didn't like it. After using it for a bit, I realized I often use commands other than i to get into insert mode. For example, I may use ci" to edit everything inside a pair of quotation marks. I wrote a bit more about my setup here: https://jeffamcgee.com/using-a-vim-clutch.html
This project is very old. I tried it and it was funny at the beginning, but considering muscle memory this is not something I want to invest in the long run due to limited portability.
Remapped capslock to control and control + [ works much better.
Vim clutch does not work with standing desk setup ;) don't ask me how do I know that.
[+] [-] powvans|8 years ago|reply
The most elite setup, as I recall, was the Kinesis Advantage combined with pedals. The keys on the Kinesis are recessed in these sort of cups that your fingers rest above. The idea is that this reduces the distance that your fingers travel moving between rows. I could never get the hang of typing on one of them, but people swore by them. Adding the pedals for shift/ctrl/esc was supposed to further reduce the need to stretch your fingers and get them into awkward positions. People also swore it made them faster and of course it looked and sounded super cool.
[+] [-] Nelson69|8 years ago|reply
I don't know if the Kinesis reduces the finger movement between rows, but your hands definitely sit in a much more relaxed way. The thumb has quite a bit more responsibility too and you don't do any stretch moves like using the pinky for the twiddle or a lot of control pressing. Love the keyboards.
As for the pedals, they are programmable and the general thinking was control/option/alt type configurations for them. I just never got in to heal-toe typing, the pedals got dusty and I never really used them much. Had I actually had CT or something, I think I might have been more motivated to make use of them.
[+] [-] czeidler|8 years ago|reply
[+] [-] osdiab|8 years ago|reply
1. more compact. No extra surface, instead just have separate wells connected either by a wire like the Kinesis Freestyle, or fully wirelessly ideally. Kinda like the ErgoDox keyboard.
2. lightweight. Don’t want to be carrying a brick in my backpack. I’m totally fine with using low travel keys like how a MacBook or any decent chiclet keyboards feels, I mostly just want the layout.
3. wireless. Bluetooth with ability to switch multiple inputs like the Logitech K811 would be incredible.
If anyone knows how someone would start to hack something like this together, please tell me! I have never done hardware but I would love to mess around with something like this as a project.
[+] [-] wrs|8 years ago|reply
[+] [-] tacostakohashi|8 years ago|reply
I wonder what happened? Maybe since computers are cheaper, more ubiquitous and people might use several (home, work, laptop), it's much less practical to use an exotic setup these days?
[+] [-] charleslmunger|8 years ago|reply
It took me a good 2 weeks to become proficient on it, but that was four and a half years ago and I haven't felt any RSI symptoms at all. I think I'm now faster on it than my old keyboards, mostly due to the thumb clusters. I recommend it to everyone who asks about it.
[+] [-] trishume|8 years ago|reply
You can see the keymap here: https://github.com/trishume/SublimeTect/blob/master/Default%...
[+] [-] alschwalm|8 years ago|reply
[+] [-] yangyang|8 years ago|reply
It wasn't as useful as I expected. Having to keep my foot in the same place all the time became quite uncomfortable, and I found that synchronising my foot with my fingers (these pedals were configured as modifiers rather than escape - I mostly use Emacs) was quite difficult.
[+] [-] LeanderK|8 years ago|reply
[+] [-] inieves|8 years ago|reply
1) quick press-release: changes mode
2) long press-hold-release: changes mode on press and then changes mode back on release
This allows the user to not have to hold the pedal down if they dont want.
User can specify a time threshold used to determine the difference between a quick press and a long press
[+] [-] pogden|8 years ago|reply
[+] [-] SimbaOnSteroids|8 years ago|reply
[+] [-] amelius|8 years ago|reply
[+] [-] JoshMnem|8 years ago|reply
[+] [-] femto113|8 years ago|reply
[+] [-] hawktheslayer|8 years ago|reply
[+] [-] caymanjim|8 years ago|reply
[+] [-] hoosieree|8 years ago|reply
[+] [-] JoshMnem|8 years ago|reply
[+] [-] dvddgld|8 years ago|reply
[+] [-] chrisper|8 years ago|reply
Right click paste? Nope. On Debian it changes to visual mode.
[+] [-] mobilemidget|8 years ago|reply
Nonetheless, it is a nice device, though I don't see myself relearning a muscle memory to use a pedal, which I will basically only have at home and/or work, but not when working somewhere remote on a notebook.
But if I had one, or had to use one, I'd probably bind ESC to it or alt+tab to cycle through 2 or 3 apps, editor/terminal/browser
[+] [-] qq66|8 years ago|reply
[+] [-] TheSpiceIsLife|8 years ago|reply
[+] [-] _trampeltier|8 years ago|reply
[+] [-] jakelazaroff|8 years ago|reply
Pseudo-modes are generally much less error prone than normal modes, the canonical example being the shift vs. caps lock keys.
[+] [-] CrystalGamma|8 years ago|reply
[+] [-] hoosieree|8 years ago|reply
[+] [-] rzzzt|8 years ago|reply
[+] [-] OskarS|8 years ago|reply
[+] [-] mfrw|8 years ago|reply
[+] [-] aaronblohowiak|8 years ago|reply
[+] [-] tess0r|8 years ago|reply
It's an interesting and easy project to start soldering/arduino-fiddling. Parts can be purchased with approx. $25.
In comparison to the pedal used in the vim clutch, the sewing machine pedal has the advantage of not only having an on/off state, but returning the pedal-pressure (so half-ressed and all sorts of combos are possible).
Currently, I use it for sublime-text shortcuts (cmp+p on half-press and cmd+shift+p on deep-press) or for debugging (ctrl+d to continue code execution).
edit: typo
[+] [-] stevefeinstein|8 years ago|reply
[+] [-] pdkl95|8 years ago|reply
However, instead of using the obvious hardware approach for the time - probably using a couple momentary switch pedals and reading them from the parallel port - I had a much better^Wmore fun idea: use a MIDI organ pedal board[3]. I already had a MIDI interface (Midiman MM-401), and I had already dreamed of getting such pedals for regular keyboard use. Having 1-2 octaves available was plenty of room for all kinds of extra macros and/or hotkeys.
I was half way through writing a simple daemon that would listen for MIDI and send the appropriate synthetic X11 KeyPress/KeyRelease events when I finally looked into where I could buy a pedal board, and realized they were $600+ (in mid-90s dollars). ~sigh~
[1] e.g. "C-M-SPC" for mark-sexp
[2] http://catb.org/jargon/html/D/double-bucky.html
[3] anything similar to this: http://www.nordkeyboards.com/products/nord-pedal-keys-27
[+] [-] madmod|8 years ago|reply
[+] [-] dang|8 years ago|reply
[+] [-] pacmaannn|8 years ago|reply
Haven't tried foot keys with an editor, but it seems like once you integrated them into your workflow they would be quite useful.
[+] [-] jeffamcgee|8 years ago|reply
[+] [-] platz|8 years ago|reply
The farther down you press, the bigger the text size.
Great for presentations on stage too.
[+] [-] api_or_ipa|8 years ago|reply
You could probably use a bunch of them for programming macros, like moom layout shortcuts, class skeletons, lock-screen, etc.
[+] [-] walshemj|8 years ago|reply
[+] [-] jzwinck|8 years ago|reply
Why Backspace? It was a gift for a friend who had what we called Rusty Degenerative Typing Syndrome. His typo rate was just terrible.
The pedal did not improve his typing error rate but it night have saves hid friends a lot of contusion.
[+] [-] a-b|8 years ago|reply
Remapped capslock to control and control + [ works much better.
Vim clutch does not work with standing desk setup ;) don't ask me how do I know that.
[+] [-] make3|8 years ago|reply
[+] [-] radres|8 years ago|reply